@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=Exo+2:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,600;1,700;1,800;1,900&display=swap");
/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: 'Font Awesome 6 Brands';
  --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.page-heading-module h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .page-heading-module h1.preset1 {
    position: relative;
    color: #3e475b;
    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: #3e475b;
  font-size: 2.1875rem;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial"; }
  h1.preset1 {
    margin: 0 0 25px;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    border-radius: 0; }
  h1.preset2 {
    font-size: 1.9375rem;
    font-weight: 300;
    text-transform: none;
    border-radius: 0;
    position: relative;
    position: relative; }
    h1.preset2:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h1.preset2:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

h2 {
  font-size: 2rem;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 5px 0;
    margin: 0 0 25px;
    color: #ffffff;
    background-color: #72798a;
    text-align: center;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 600;
    word-spacing: normal;
    border-radius: 0;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #3e475b;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    word-spacing: normal; }
  h2.preset3 {
    margin: 0;
    padding: 0 0 20px;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    word-spacing: normal;
    border-radius: 0;
    position: relative;
    color: #3e475b;
    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: 5px 0;
    margin: 0 0 15px;
    color: #ffffff;
    background-color: #ededed;
    font-size: 1.125rem;
    font-weight: 400;
    text-align: center;
    text-transform: none;
    border-radius: 0; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

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

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

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

h6 {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "Exo 2", "Exo 2 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, #3e475b);
  font-weight: inherit;
  font-size: 0.9375rem;
  -webkit-transition: color 0.8s, opacity 0.8s;
  transition: color 0.8s, opacity 0.8s; }
  a.success {
    color: #12811f; }
    a.success:before, a.success:after {
      color: #12811f; }
  a.warning {
    color: #ff5e05; }
    a.warning:before, a.warning:after {
      color: #ff5e05; }
  a.alert {
    color: #b20c0c; }
    a.alert:before, a.alert:after {
      color: #b20c0c; }
  a.edit {
    font-size: 0.875rem;
    color: #3e475b;
    cursor: pointer; }
    a.edit:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Regular";
      font-size: 17px; }
  a.disabled {
    cursor: not-allowed;
    opacity: 0.4; }
  a.news-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.news-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.news-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.news-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.news-button:active {
      color: var(--primary-colour-lightness-0); }
      a.news-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.blog-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.blog-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.blog-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.blog-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.blog-button:active {
      color: var(--primary-colour-lightness-0); }
      a.blog-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.events-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.events-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.events-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.events-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.events-button:active {
      color: var(--primary-colour-lightness-0); }
      a.events-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.external-link-icon:after {
    content: "";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 12px;
    font-family: "Font Awesome Solid"; }
  a:hover {
    text-decoration: none;
    color: var(--secondary-colour-lightness-0, #20ace9);
    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: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

ol li {
  text-align: left; }

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

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

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

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

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

.prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  .prices p {
    margin: 0;
    font-weight: 700; }
  .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .prices .price-container .value {
      color: #2b69c6;
      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: #3e475b;
      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: "Exo 2", "Exo 2 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: "Exo 2", "Exo 2 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: #20ace9;
        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: #3e475b; }
    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: #20ace9;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #3e475b; }
  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: #20ace9;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #3e475b; }
  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: "Exo 2", "Exo 2 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: #3e475b;
      color: #ffffff;
      border-color: #3e475b;
      -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: "Exo 2", "Exo 2 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: #3e475b; }
    .responsive-reveal-table .responsive-table-item.active .header-container:after {
      content: ""; }
    .responsive-reveal-table .responsive-table-item.active .content-container {
      max-height: 500px;
      margin-top: 10px;
      padding-bottom: 18px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
    .responsive-reveal-table .responsive-table-item.active .ellipsis-text {
      white-space: normal;
      -webkit-mask-image: none;
              mask-image: none; }
  .responsive-reveal-table .header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 20px; }
    .responsive-reveal-table .header-container:has(.unread-col) {
      padding-left: 0; }
    .responsive-reveal-table .header-container:after {
      content: "";
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 18px;
      color: #3e475b; }
  .responsive-reveal-table .content-container {
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 18px;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .responsive-reveal-table .content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 0.875rem; }
  .responsive-reveal-table .col-label {
    max-width: 120px;
    width: 100%;
    display: block;
    font-weight: 700;
    color: #484848; }
  .responsive-reveal-table .tooltip-container.state-indicator .tooltip-trigger:before {
    font-size: 12px; }

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

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

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

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: 0.9375rem; }
    @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.75rem;
      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: #6d6d6d; }
  @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: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .additional-input-info p img[style*="float:left"], .additional-input-info p img[style*="float: left"], .additional-input-info p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .additional-input-info p img[style*="float:right"], .additional-input-info p img[style*="float: right"], .additional-input-info p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .additional-input-info p img {
      margin: .2em 0; }
    .additional-input-info p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .additional-input-info ul, .additional-input-info ol {
    text-align: left; }
  .additional-input-info ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .additional-input-info ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .additional-input-info ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .additional-input-info ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #3e475b;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .additional-input-info ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .additional-input-info ol ol ol {
        list-style-type: lower-roman; }
        .additional-input-info ol ol ol ol {
          list-style-type: lower-alpha; }
          .additional-input-info ol ol ol ol ol {
            list-style-type: lower-roman; }
  .additional-input-info li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 20px; }
  .additional-input-info ul + h2, .additional-input-info ol + h2 {
    margin-top: 20px; }
  .additional-input-info ul + h3, .additional-input-info ol + h3 {
    margin-top: 10px; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 10px; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 10px; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 15px; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 0.9375rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 0.9375rem; }
  .additional-input-info img {
    margin: 0 15px; }
  .additional-input-info.large {
    width: 100%; }

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

input[type=password] {
  color: #959595;
  font-size: 22px;
  letter-spacing: -1px;
  font-family: caption;
  -webkit-transition: font-size 0.8s;
  transition: font-size 0.8s;
  overflow: hidden;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 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: #6d6d6d; }
  input[type=password] + button {
    border-radius: 0 0 0 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #c8c8c8;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .password-reveal:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-style: 12px;
    color: rgba(72, 72, 72, 0.7);
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .password-reveal:hover:before {
      color: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #20ace9;
    -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: #3e475b;
  background-color: #edeeef;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 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: #3e475b;
      border-color: #72798a;
      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: #20ace9;
    border-color: #20ace9;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .action-button:disabled, .action-button.disabled, .action-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: #6d6d6d; }
  .action-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .action-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .action-button.success, .action-button.email {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #12811f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #12811f;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.success:hover .graduated-colour-edge .step, .action-button.success.hover .graduated-colour-edge .step, .action-button.email:hover .graduated-colour-edge .step, .action-button.email.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.success:active, .action-button.success.active, .action-button.email:active, .action-button.email.active {
      color: #ffffff;
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.success:disabled, .action-button.success.disabled, .action-button.success[disabled], .action-button.email:disabled, .action-button.email.disabled, .action-button.email[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.success:disabled:hover, .action-button.success.disabled:hover, .action-button.email:disabled:hover, .action-button.email.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.success:focus-visible, .action-button.email:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.success .graduated-colour-edge .step, .action-button.email .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.warning {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #ff5e05;
    background-color: #ffefe6;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ff5e05;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #ff5e05;
        border-color: #ff5e05;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.warning:hover .graduated-colour-edge .step, .action-button.warning.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.warning:active, .action-button.warning.active {
      color: #ffffff;
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.warning:disabled, .action-button.warning.disabled, .action-button.warning[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.warning:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.warning .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.alert {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #b20c0c;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.alert:hover .graduated-colour-edge .step, .action-button.alert.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.alert:active, .action-button.alert.active {
      color: #ffffff;
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.alert:disabled, .action-button.alert.disabled, .action-button.alert[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.alert:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.alert .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

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

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

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

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

.secondary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #ffffff;
      background-color: #3e475b;
      border-color: #3e475b;
      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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .secondary-button:disabled, .secondary-button.disabled, .secondary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: #6d6d6d; }
  .secondary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .secondary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

.quaternary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 3.5px 16px);
  color: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #20ace9;
      background-color: #ffffff;
      border-color: #20ace9;
      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: #3e475b;
    background-color: #ffffff;
    border-color: #3e475b;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quaternary-button:disabled, .quaternary-button.disabled, .quaternary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: #6d6d6d; }
  .quaternary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quaternary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

.cms-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #3e475b;
  background-color: transparent;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #3e475b;
  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: #ffffff;
      background-color: #3e475b;
      border-color: hover-color((default: transparent, hover: #3e475b, active: #20ace9, 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: #72798a;
    background-color: #20ace9;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-button:disabled, .cms-button.disabled, .cms-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

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

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

.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: #2b69c6;
  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: #3e475b;
    border-color: #3e475b;
    -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: #3e475b;
    background-color: #ededed;
    border-color: #3e475b; }
    .third-party-tracking-button-2:active:after {
      color: #3e475b; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #2b69c6;
    -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: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #ffffff;
      background-color: #3e475b;
      border-color: #3e475b;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #ffffff;
        -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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #ffffff; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .print-element-button:disabled:before, .print-element-button.disabled:before, .print-element-button[disabled]:before {
      color: #6d6d6d; }
  .print-element-button:disabled:hover, .print-element-button.disabled:hover {
    border-color: #6d6d6d; }
  .print-element-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .print-element-button:before {
    content: "";
    margin: 0 12px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #72798a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .print-element-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

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

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

.page-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 30px; }
  @media screen and (min-width: 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: #20ace9;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #2b69c6;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #3e475b; }
  .basket-add-button.icon.disabled {
    cursor: not-allowed; }

.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: #20ace9;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #2b69c6;
      border-color: #2b69c6;
      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: #3e475b;
    border-color: #3e475b;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.text-based:disabled, .basket-add-button.text-based.disabled, .basket-add-button.text-based[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: #6d6d6d; }
  .basket-add-button.text-based:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .basket-add-button.text-based .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

.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: #20ace9;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #2b69c6;
      border-color: #2b69c6;
      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: #3e475b;
    border-color: #3e475b;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket:not(.preset-2):disabled, .add-to-basket:not(.preset-2).disabled, .add-to-basket:not(.preset-2)[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: #6d6d6d; }
  .add-to-basket:not(.preset-2):focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket:not(.preset-2) .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

.animated.drop:before {
  color: #20ace9 !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: #20ace9;
  -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: #3e475b;
  background-color: #edeeef;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 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: #3e475b;
      border-color: #72798a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .stockline-view-button a:hover .graduated-colour-edge .step, .stockline-view-button a.hover .graduated-colour-edge .step, .stockline-view-button button:hover .graduated-colour-edge .step, .stockline-view-button button.hover .graduated-colour-edge .step, .stockline-view-container a:hover .graduated-colour-edge .step, .stockline-view-container a.hover .graduated-colour-edge .step, .stockline-view-container button:hover .graduated-colour-edge .step, .stockline-view-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .stockline-view-button a:active, .stockline-view-button a.active, .stockline-view-button button:active, .stockline-view-button button.active, .stockline-view-container a:active, .stockline-view-container a.active, .stockline-view-container button:active, .stockline-view-container button.active {
    color: #ffffff;
    background-color: #20ace9;
    border-color: #20ace9;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .stockline-view-button a:disabled, .stockline-view-button a.disabled, .stockline-view-button a[disabled], .stockline-view-button button:disabled, .stockline-view-button button.disabled, .stockline-view-button button[disabled], .stockline-view-container a:disabled, .stockline-view-container a.disabled, .stockline-view-container a[disabled], .stockline-view-container button:disabled, .stockline-view-container button.disabled, .stockline-view-container button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .stockline-view-button a:disabled:hover, .stockline-view-button a.disabled:hover, .stockline-view-button button:disabled:hover, .stockline-view-button button.disabled:hover, .stockline-view-container a:disabled:hover, .stockline-view-container a.disabled:hover, .stockline-view-container button:disabled:hover, .stockline-view-container button.disabled:hover {
    border-color: #6d6d6d; }
  .stockline-view-button a:focus-visible, .stockline-view-button button:focus-visible, .stockline-view-container a:focus-visible, .stockline-view-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .stockline-view-button a .graduated-colour-edge .step, .stockline-view-button button .graduated-colour-edge .step, .stockline-view-container a .graduated-colour-edge .step, .stockline-view-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

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

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

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

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

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

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

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

.favouritesContainer.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .favouritesContainer.preset1 a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 0.875rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #20ace9;
      -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: #6d6d6d;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
    -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.is-invalid-label .input-prefix-icon {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .control.is-invalid-label .input-prefix-icon:before {
      color: #b20c0c; }
  .control.is-invalid-label:hover .input-prefix-icon, .control.is-invalid-label:hover input {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1); }
  .control + .label {
    padding-left: 5px; }
  .control .input-prefix-icon {
    height: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    background-color: #ffffff;
    border-width: 1px 0 1px 1px;
    border-color: #c8c8c8;
    border-style: solid;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
    z-index: 1; }
    .control .input-prefix-icon:hover {
      -webkit-transition: border-color 0.6s, background-color 0.6s;
      transition: border-color 0.6s, background-color 0.6s; }
    .control .input-prefix-icon:before {
      line-height: normal; }
    .control .input-prefix-icon + input {
      border-left-width: 0; }
  .control .label {
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover .label {
    color: #3e475b;
    -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: #c8c8c8; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: #6d6d6d;
    background-color: #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: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:checked + span:before {
    opacity: 1; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:before {
    color: #20ace9; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox.small input:checked[disabled] + span:before, .control.checkbox.small input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.checkbox:not(.small) input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox:not(.small) input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox:not(.small) input + span {
    border-color: #c8c8c8; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: #6d6d6d;
    background-color: #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: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:checked + span:before {
    opacity: 1; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:before {
    color: #20ace9; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input:checked[disabled] + span:before, .control.checkbox:not(.small) input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.radio {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .control.radio:not(.checkbox) input:checked + span.radio {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .control.radio:not(.checkbox) input:checked + span.radio:after {
      background-color: #20ace9;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .control.radio:not(.checkbox) span.radio {
    width: 15px;
    height: 15px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    border-radius: 15px;
    border: 1px solid #c8c8c8;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:after {
      content: '';
      width: 7.5px;
      height: 7.5px;
      position: relative;
      top: .2px;
      left: .4px;
      display: block;
      margin: auto;
      background-color: #ffffff;
      border-radius: 7.5px;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:hover {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:hover:after {
        background-color: #6d6d6d; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #20ace9; }
  .control.radio.checkbox input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.radio.checkbox input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.radio.checkbox input + span {
    border-color: #c8c8c8; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: #6d6d6d;
    background-color: #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: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:checked + span:before {
    opacity: 1; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:before {
    color: #20ace9; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.radio.checkbox input:checked[disabled] + span:before, .control.radio.checkbox input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.select {
    width: 100%; }
    .control.select select {
      height: 45px;
      width: auto;
      display: block;
      margin: 0; }
      .control.select select:disabled + .control-select-container .selected-option, .control.select select[readonly] + .control-select-container .selected-option {
        background-color: #aeaeae;
        border-color: #6d6d6d;
        cursor: no-drop; }
      .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow {
        background-color: #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: #6d6d6d; }
      .control.select select.is-invalid-input + .control-select-container .selected-option {
        background-color: #fde1e1;
        border-color: #b20c0c; }
      .control.select select:focus + div[class=control-select-container] .selected-option {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: #6d6d6d; }
    .control.select.is-closing {
      z-index: 2000; }
    .control.select.active, .control.select.active:hover {
      z-index: 1999; }
      .control.select.active:hover .control-select-options, .control.select.active:hover:hover .control-select-options {
        border-color: #6d6d6d; }
      .control.select.active.dropdown-top .selected-option, .control.select.active:hover.dropdown-top .selected-option {
        border-radius: 0 0 0 0; }
        .control.select.active.dropdown-top .selected-option .select-arrow, .control.select.active:hover.dropdown-top .selected-option .select-arrow {
          border-radius: 0 0 0 0; }
      .control.select.active.dropdown-top .control-select-options, .control.select.active:hover.dropdown-top .control-select-options {
        border-radius: 0 0 0 0; }
      .control.select.active .selected-option, .control.select.active:hover .selected-option {
        border-width: 1px 1px 0 1px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-radius: 0 0 0 0; }
        .control.select.active .selected-option:focus, .control.select.active:hover .selected-option:focus {
          border-color: #6d6d6d; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #20ace9;
        border-radius: 0 0 0 0; }
        .control.select.active .select-arrow:after, .control.select.active:hover .select-arrow:after {
          content: "";
          color: #ffffff; }
      .control.select.active .control-select-options, .control.select.active:hover .control-select-options {
        max-height: 185px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .control.select.dropdown-bottom .selected-option {
      border-bottom-color: #c8c8c8; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #c8c8c8; }
    .control.select.dropdown-top .control-select-options {
      top: auto;
      bottom: 100%;
      margin: 0;
      border-width: 1px 1px 0 1px; }
    .control.select.dropdown-top.active .selected-option {
      border-width: 0 1px 1px 1px; }
    .control.select .select-arrow {
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background-color: transparent;
      border-radius: 0 0 0 0;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .control.select .select-arrow:after {
        content: "";
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 18px;
        font-family: "Font Awesome Solid";
        color: #959595;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .control.select .selected-option {
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      padding: 5px 0 5px 0;
      padding-right: 33px;
      margin: 0;
      background: #ffffff;
      border: 1px solid #c8c8c8;
      font-family: "Exo 2", "Exo 2 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: #6d6d6d; }
      .control.select .selected-option:focus {
        border-color: #c8c8c8; }
    .control.select .control-select-options {
      max-height: 0;
      width: 100%;
      position: absolute;
      margin: auto 0 0;
      padding: 0;
      border-width: 0 1px 0 1px;
      border-style: solid;
      border-color: transparent;
      background-color: #ffffff;
      list-style: none;
      font-size: 0.875rem;
      overflow-x: hidden;
      overflow-y: scroll;
      -webkit-transition: all 0.8s;
      transition: all 0.8s;
      z-index: 1;
      border-radius: 0 0 0 0; }
    .control.select .control-select-option {
      padding: 5px 0 5px 10px;
      text-align: left;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      .control.select .control-select-option[selected] {
        background-color: #3e475b;
        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: #20ace9;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #2b69c6;
        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: #3e475b; }
        .control.select .control-select-dropdown:hover .select-arrow:after {
          color: #ffffff; }
    .control.select.title .control-select-dropdown {
      width: 250px; }
  .control.text {
    cursor: text; }
    .control.text input {
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .control.text input:not([type=password]):hover {
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .control.text input:hover {
        border-color: #6d6d6d;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .control.text input:hover.is-invalid-input {
          border-color: #b20c0c; }
          .control.text input:hover.is-invalid-input:focus {
            border-color: #6d6d6d; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: #6d6d6d; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: #6d6d6d;
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; }
      .control.text input + button:focus {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.slider {
    height: auto;
    background-color: transparent;
    border: 0; }
  .control.file {
    width: 100% !important;
    height: 100% !important;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
    padding: 10px;
    background-color: transparent;
    border: 4px solid #bfbfbf;
    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 #bfbfbf;
      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: #3e475b;
      -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: #3e475b;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #3e475b;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #3e475b; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(114, 121, 138, 0.1);
      border-color: rgba(62, 71, 91, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(62, 71, 91, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(62, 71, 91, 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: #3e475b;
      -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: #3e475b; }
      .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: #20ace9;
    color: #ffffff; } }

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

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

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

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

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

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

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

input.mail-input {
  height: 45px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  float: left;
  border-style: solid;
  border-width: 1px;
  border-radius: 0 0 0 0;
  margin: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media print, screen and (min-width: 40em) {
    input.mail-input {
      width: auto;
      border-width: 1px 0 1px 1px; } }
  input.mail-input.is-invalid-input + button {
    border-color: #b20c0c;
    background-color: #fde1e1;
    opacity: 1; }
    input.mail-input.is-invalid-input + button:before {
      color: #b20c0c; }
    input.mail-input.is-invalid-input + button:hover:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  input.mail-input + button {
    width: 100%;
    height: 45px;
    margin: 5px 0 0;
    padding: 0 5px;
    background-color: #ffffff;
    border-style: solid;
    border-color: #c8c8c8;
    border-width: 1px;
    color: rgba(62, 71, 91, 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(62, 71, 91, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #c8c8c8;
      background-color: rgba(62, 71, 91, 0.6);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:hover:empty:before {
        color: #ffffff; }
    input.mail-input + button:active {
      color: #ffffff;
      border-color: #6d6d6d;
      background-color: #20ace9;
      -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: #3e475b; }
    @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: #20ace9; } }
    .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: #3e475b; } }
    .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: #20ace9; }
  .quantity-free-text-container .input-group-button span.disabled {
    background-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:before {
      color: #dadada; }
    .quantity-free-text-container .input-group-button span.disabled:hover {
      border-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:active {
      background-color: transparent; }
  .quantity-free-text-container .label {
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600; }
    @media screen and (min-width: 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: #6d6d6d; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number {
    color: #b20c0c;
    background-color: #fde1e1; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-webkit-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-moz-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number:-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::placeholder {
      color: #b20c0c; }
  .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    @media (hover: hover) {
      .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number:hover {
        border-color: #b20c0c;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .quantity-free-text-container.is-invalid-quantity .quantity-error {
    max-height: 100px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .quantity-free-text-container .quantity-error {
    max-height: 0;
    display: block;
    color: #b20c0c;
    font-size: 0.75rem;
    font-weight: bold;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }

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

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

.quantity-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-selector-container {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-selector-container .control-select-container {
    height: 45px; }
  @media screen and (min-width: 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: 0.9375rem;
    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: 0.9375rem;
      font-weight: 600;
      font-style: italic;
      color: #000000; }
      ul.advanced-validation > li.advanced-form-error:before {
        content: "";
        display: inline-block;
        margin: 0 5px 0 0;
        font-size: 15px;
        font-family: "Font Awesome Solid";
        font-style: normal;
        color: rgba(72, 72, 72, 0.7); }
      ul.advanced-validation > li.advanced-form-error.is-valid {
        color: #12811f; }
        ul.advanced-validation > li.advanced-form-error.is-valid:before {
          content: ""; }
      ul.advanced-validation > li.advanced-form-error.is-invalid {
        color: #b20c0c; }
        ul.advanced-validation > li.advanced-form-error.is-invalid:before {
          content: ""; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.lookup-results {
  width: 100%; }
  .lookup-results ul {
    max-height: 225px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto; }
    .lookup-results ul .selected {
      color: #3e475b;
      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: #3e475b;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #3e475b;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #20ace9; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #20ace9;
        -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: rgba(255, 255, 255, 0.5);
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #c8c8c8;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  display: inline-block;
  -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }
  input[type=search]:hover, input[type=search].hover {
    -webkit-box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
            box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    input[type=search]:hover + button, input[type=search].hover + button {
      -webkit-box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
              box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
      border-color: #6d6d6d;
      background-color: rgba(191, 191, 191, 0.1); }
      input[type=search]:hover + button:before, input[type=search].hover + button:before {
        color: #2b69c6; }
  input[type=search]:focus, input[type=search]:active, input[type=search].focus {
    background-color: #ffffff;
    border-right-width: 0; }
    input[type=search]:focus + button, input[type=search]:active + button, input[type=search].focus + button {
      border-color: #6d6d6d;
      background-color: #3e475b;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s, -webkit-box-shadow 0.8s background-color 0.6s; }
      input[type=search]:focus + button:before, input[type=search]:active + button:before, input[type=search].focus + button:before {
        color: #ffffff; }
  input[type=search]::-webkit-input-placeholder {
    height: -webkit-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #3e475b;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-style: italic; }
  input[type=search]::-moz-placeholder {
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #3e475b;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-style: italic; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #3e475b;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-style: italic; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #3e475b;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-style: italic; }
  input[type=search]::placeholder {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #3e475b;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-style: italic; }
  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: rgba(255, 255, 255, 0.5);
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #c8c8c8;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    input[type=search] + button:hover {
      background-color: rgba(191, 191, 191, 0.1);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input[type=search] + button:hover:before {
        color: #2b69c6;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    input[type=search] + button:active {
      background-color: #3e475b; }
      input[type=search] + button:active:before {
        color: #ffffff; }
    input[type=search] + button:before {
      content: "";
      width: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #3e475b;
      -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: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }

/*
----- Site Styles ----- 
Allowing CSS variables to override SASS configuration, used in instances where you need department specifc colouring.

*/
.required-prompt {
  width: 100%;
  display: block;
  padding: 0 10px;
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 400;
  font-style: italic; }
  @media screen and (min-width: 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 #c8c8c8;
  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: #3e475b;
    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: 5px 0;
    margin: 0 0 10px;
    color: #000000;
    background-color: #ededed;
    font-weight: 400;
    font-size: 1.125rem;
    text-align: center;
    text-transform: none; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Exo 2", "Exo 2 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: 5px 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 #c8c8c8;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-radius: 0; }
  @media screen and (min-width: 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: #ededed;
    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: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .confirmation-prompt-container .content-container .content p img[style*="float:left"], .confirmation-prompt-container .content-container .content p img[style*="float: left"], .confirmation-prompt-container .content-container .content p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .confirmation-prompt-container .content-container .content p img[style*="float:right"], .confirmation-prompt-container .content-container .content p img[style*="float: right"], .confirmation-prompt-container .content-container .content p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .confirmation-prompt-container .content-container .content p img {
        margin: .2em 0; }
      .confirmation-prompt-container .content-container .content p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .confirmation-prompt-container .content-container .content p:not(:empty) + table, .confirmation-prompt-container .content-container .content p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .confirmation-prompt-container .content-container .content table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead th {
          font-weight: 700; }
      .confirmation-prompt-container .content-container .content table.responsive-table {
        display: block; }
        @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 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: #3e475b;
        background-color: #dffbe2;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 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: #12811f;
            border-color: #12811f;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.active {
          background-color: #edeeef;
          border-color: #edeeef;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #b20c0c;
        background-color: #fde1e1;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 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: #ffffff;
          background-color: #edeeef;
          border-color: #edeeef;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning[disabled], .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:focus-visible, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
      --component-specifc-step-height: 15px;
      width: 230px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin: var(--common-button-small-margin, 0 22.5px 10px);
      padding: var(--common-button-padding, 20px 10px);
      color: #3e475b;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      border-color: #dadada;
      text-decoration: none;
      line-height: 1;
      border-radius: 0 !important;
      overflow: hidden;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      @media screen and (min-width: 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: #3e475b;
        border-color: #3e475b;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button[disabled] {
        color: #6d6d6d;
        background-color: #ffffff;
        border-color: #6d6d6d;
        cursor: not-allowed; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled:hover {
        border-color: #6d6d6d; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:focus-visible {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button .graduated-colour-edge .step {
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }

.confirmation-prompt-container .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .confirmation-prompt-container .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:hover:before {
    color: #3e475b;
    -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: #20ace9;
    -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: 65px;
          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: 65px;
        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: #3e475b; }
  @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: #3e475b;
      -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: #ffffff;
      -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: #20ace9;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 22px; }
    @media screen and (min-width: 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: #3e475b;
    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: none; } }
    @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 47.7% 28.5%;
      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; }
  @media screen and (min-width: 81.25em) {
    .logoContainer, .logo-container {
      padding: 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: auto; }
    @media screen and (min-width: 81.25em) {
      .logoContainer img, .logo-container img {
        width: 290px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoFull, .logoContainer .logo-full-size, .logo-container .logoFull, .logo-container .logo-full-size {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .logoContainer .logoFull, .logoContainer .logo-full-size, .logo-container .logoFull, .logo-container .logo-full-size {
        display: block; } }
  @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: 1rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: normal;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 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-tagline {
  display: none;
  margin: 0;
  padding: 8px 0;
  color: #ffffff;
  font-weight: 400;
  font-size: 1rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: normal;
  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: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 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: 400; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search] + button {
      height: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
  .header-search-container #unibox-suggest-box {
    max-width: initial !important;
    width: calc(100% - 70px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media print, screen and (max-width: 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: #3e475b;
          -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: #20ace9;
            -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: #20ace9;
      -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: #3e475b; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #3e475b;
  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: #20ace9;
    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: #20ace9;
  border: 1px solid #20ace9; }

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

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

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

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

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

.header-basket-container .summary-recently-added {
  width: 100%;
  max-height: 0px;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 5000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 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: #3e475b;
    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: #2b69c6;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #2b69c6;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #3e475b; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #3e475b; }
    .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: #20ace9; }
    .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: #50586a;
  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: #20ace9; }
  .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: #72798a;
    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: #ffffff;
  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: #3e475b; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #3e475b; }
  .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: #3e475b;
      font-weight: 700; }
  .header-basket-container .basket-mobile-summary .action-button {
    margin: 0; }
  .header-basket-container .basket-mobile-summary .mobile-summary-message-container, .header-basket-container .basket-mobile-summary .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.0625rem;
    font-weight: 700;
    text-align: center; }

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

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

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

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

#basketSummaryContainer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  @media screen and (min-width: 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: #20ace9; }
  #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: #20ace9;
    border: 1px solid #20ace9; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #20ace9; }
    #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: #20ace9;
      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: #20ace9; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #20ace9; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #20ace9; }
  #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.0625rem;
    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: #3e475b;
        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: #3e475b;
      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: #3e475b; }
    #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: #3e475b; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 700;
      color: #3e475b; }

.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: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      font-family: "Exo 2", "Exo 2 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: #72798a;
      border-radius: 0;
      border-width: 1px 0 0;
      border-color: #ffffff;
      border-style: solid;
      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: 600; }
  .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: #3e475b; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #3e475b;
    font-weight: 600;
    font-size: 1.25rem;
    text-align: left;
    text-transform: none; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 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: #20ace9; }
      .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: #3e475b; }
  .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 .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: #3e475b;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #72798a; }
  .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: #fff200;
    color: #3e475b;
    font-size: 0.6875rem;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #fff200;
    -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: #20ace9;
    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: #3e475b;
    color: #ffffff;
    border-color: #3e475b; }
  @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: #3e475b;
  -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: #3e475b;
    -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: #20ace9;
      -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: #3e475b; }
    .header-account-button:active:before {
      color: #72798a; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #3e475b;
    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: #3e475b;
    -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: 10px 0 0; } }

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

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

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

.header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
  padding-top: 10px; }
  .header-usp-bar + #breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + #breadcrumb-vat-switcher-container:has(.header-toggle-switch-container), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.header-toggle-switch-container) {
    padding-top: 0; }
  @media screen and (min-width: 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.8125rem;
    font-weight: 400; }
  .breadcrumbs span {
    font-size: 0.8125rem;
    font-weight: 400; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 0.5px;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
      @media screen and (min-width: 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: #20ace9; }
  .vat-switcher-container.inclusive .vat-switcher-paddle, .vat-switcher-container.inclusive .header-toggle-switch-paddle, .vat-switcher-container.off .vat-switcher-paddle, .vat-switcher-container.off .header-toggle-switch-paddle, .header-toggle-switch-container.inclusive .vat-switcher-paddle, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle, .header-toggle-switch-container.off .vat-switcher-paddle, .header-toggle-switch-container.off .header-toggle-switch-paddle {
    padding-right: 32px; }
    .vat-switcher-container.inclusive .vat-switcher-paddle:before, .vat-switcher-container.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.off .vat-switcher-paddle:before, .vat-switcher-container.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.off .vat-switcher-paddle:before, .header-toggle-switch-container.off .header-toggle-switch-paddle:before {
      right: 5px;
      background-color: #eeeeee; }
  .vat-switcher-container.inclusive .switch-exc, .vat-switcher-container.off .switch-exc, .header-toggle-switch-container.inclusive .switch-exc, .header-toggle-switch-container.off .switch-exc {
    display: none; }
  .vat-switcher-container.inclusive .switch, .vat-switcher-container.off .switch, .header-toggle-switch-container.inclusive .switch, .header-toggle-switch-container.off .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container.exclusive .vat-switcher-paddle, .vat-switcher-container.exclusive .header-toggle-switch-paddle, .vat-switcher-container.on .vat-switcher-paddle, .vat-switcher-container.on .header-toggle-switch-paddle, .header-toggle-switch-container.exclusive .vat-switcher-paddle, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle, .header-toggle-switch-container.on .vat-switcher-paddle, .header-toggle-switch-container.on .header-toggle-switch-paddle {
    padding-left: 39px; }
    .vat-switcher-container.exclusive .vat-switcher-paddle:before, .vat-switcher-container.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.on .vat-switcher-paddle:before, .vat-switcher-container.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.on .vat-switcher-paddle:before, .header-toggle-switch-container.on .header-toggle-switch-paddle:before {
      left: 5px;
      background-color: #484848; }
  .vat-switcher-container.exclusive .switch-inc, .vat-switcher-container.on .switch-inc, .header-toggle-switch-container.exclusive .switch-inc, .header-toggle-switch-container.on .switch-inc {
    display: none; }
  .vat-switcher-container.exclusive .switch, .vat-switcher-container.on .switch, .header-toggle-switch-container.exclusive .switch, .header-toggle-switch-container.on .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container .switch, .header-toggle-switch-container .switch {
    width: 34px;
    height: 16.19048px;
    margin: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    line-height: 0;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s; }
    .vat-switcher-container .switch:hover, .header-toggle-switch-container .switch:hover {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s; }
  .vat-switcher-container .vat-switcher-paddle, .vat-switcher-container .header-toggle-switch-paddle, .header-toggle-switch-container .vat-switcher-paddle, .header-toggle-switch-container .header-toggle-switch-paddle {
    min-width: 14.78261px;
    height: 14.78261px;
    display: inline-block; }
    .vat-switcher-container .vat-switcher-paddle:before, .vat-switcher-container .header-toggle-switch-paddle:before, .header-toggle-switch-container .vat-switcher-paddle:before, .header-toggle-switch-container .header-toggle-switch-paddle:before {
      content: '';
      width: 8.09524px;
      height: 8.09524px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border-radius: 0;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
  .vat-switcher-container .switch-exc, .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-exc, .header-toggle-switch-container .switch-inc {
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 2; }
  .vat-switcher-container .switch-exc, .header-toggle-switch-container .switch-exc {
    right: 7px; }
  .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-inc {
    left: 5px; }
  .vat-switcher-container .switch-input, .header-toggle-switch-container .switch-input {
    width: 100%;
    padding: 0;
    margin: 0; }
  .vat-switcher-container p, .header-toggle-switch-container p {
    margin: 0;
    color: #959595;
    font-size: 0.8125rem;
    font-weight: 400; }
  .vat-switcher-container label, .header-toggle-switch-container label {
    cursor: pointer; }
    .vat-switcher-container label span, .header-toggle-switch-container label span {
      font-size: 0.8125rem;
      font-weight: 400; }

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

footer .socialIcons, footer .social-icons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 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 20px;
      padding: 0 0 30px;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none;
    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: 25px;
    background-color: #3e475b;
    border: 1px solid #3e475b;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #20ace9;
      border-color: #20ace9;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #3e475b;
      border-color: #3e475b; }
  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: #484848;
    font-size: 0.9375rem;
    font-weight: 400;
    text-transform: none; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #3e475b;
    font-size: 0.9375rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #000000; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #484848; }
    footer .footer-background .cms-content-container a:active {
      color: #959595; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f3f3f3; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #3e475b;
      -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: 0;
  background-color: #eeeeee; }
  .copyright-outer-container .copyright-inner-container {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 auto 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 18px auto 0;
        text-align: center; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #000000;
      text-transform: none;
      line-height: 1.4; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 0.8125rem;
      font-weight: 700;
      color: #2b69c6;
      text-decoration: none;
      text-transform: none;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #000000;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #000000;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

@media screen and (min-width: 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: #3e475b; }

.footer-navigation > ul.menu > li {
  margin: 0; }
  .footer-navigation > ul.menu > li:first-child p, .footer-navigation > ul.menu > li:first-child a {
    padding-left: 0; }
  .footer-navigation > ul.menu > li:last-child p, .footer-navigation > ul.menu > li:last-child a {
    padding-right: 0; }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #3e475b; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li {
      width: 200px;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0;
      padding: 0;
      border: 0; } }
  .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 20px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    cursor: pointer;
    color: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial";
    text-transform: none;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #000000; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #3e475b; }
  @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: #484848;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1;
        text-transform: none;
        -webkit-transition: color 0.8s, opacity 0.8s;
        transition: color 0.8s, opacity 0.8s; }
        .footer-navigation > ul.menu > li > ul > li > a:hover {
          color: #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: #000000;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }

.footer-navigation > ul.menu .link-description {
  display: inline-block;
  text-decoration: inherit; }

.footer-navigation.main-menu {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 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;
      -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: #000000; }

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

.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: #3e475b;
      font-size: 17;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #3e475b;
      font-size: 1.0625rem;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container table {
      color: #000000; }
      @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: 50%;
      margin: 0;
      padding: 0; } }
  .footer-promotions + .footer-navigation {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .footer-promotions + .footer-navigation .menu {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .footer-promotions .mailing-list-container, .footer-promotions .footer-mailing-list-reveal-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .footer-promotions .socialIcons, .footer-promotions .social-icons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .footer-promotions .cms-content-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.footer-promotion-heading h3 {
  margin: 0 0 15px;
  color: #3e475b;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none; }
  @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: rgba(255, 255, 255, 0.5);
        font-size: 1rem; }
        @media screen and (min-width: 81.25em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0; } }
        .footer-contact-details ul.menu > li > a:hover {
          color: #ffffff; }
        .footer-contact-details ul.menu > li > a:active {
          color: #20ace9; }

.footer-reveal-button {
  width: 100%;
  display: block;
  padding: 15px 30px;
  background-color: #3e475b;
  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: #20ace9;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #7a7a7a; }

.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: #3e475b;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #3e475b;
  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: #20ace9;
      border-color: #20ace9;
      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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .footer-mailing-list-link:active:after, .footer-mailing-list-link.active:after {
      color: #ffffff; }
  .footer-mailing-list-link:disabled, .footer-mailing-list-link.disabled, .footer-mailing-list-link[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .footer-mailing-list-link:disabled:after, .footer-mailing-list-link.disabled:after, .footer-mailing-list-link[disabled]:after {
      color: #6d6d6d; }
  .footer-mailing-list-link:disabled:hover, .footer-mailing-list-link.disabled:hover {
    border-color: #6d6d6d; }
  .footer-mailing-list-link:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .footer-mailing-list-link:after {
    content: "";
    margin: 0 0 0 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .footer-mailing-list-link .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.mailing-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container h3 {
        margin: 0 0 35px; } }
  .mailing-list-container p {
    color: #484848;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 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: #eeeeee; }
    @media print, screen and (max-width: 39.99875em) {
      .mailing-list-container form input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .mailing-list-container form input + button {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; } }
  .mailing-list-container fieldset {
    margin: 0;
    padding: 0; }
  .mailing-list-container .form-error {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }

.footerOuterContainer, .footer-background {
  margin-top: 25px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 70px 10px 20px; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 70px 0 20px; } }
  .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(62, 71, 91, 0.2);
      border-top: 4px solid #3e475b;
      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: #ededed;
  text-align: center;
  color: #3e475b;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Exo 2", "Exo 2 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: #20ace9;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #3e475b;
          -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: #3e475b;
    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: #3e475b; }
    @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: #20ace9;
        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: #ededed; }
  @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(62, 71, 91, 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: #3e475b;
      -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: #20ace9;
      -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(62, 71, 91, 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: 0.9375rem; }
  .attributeList.menu ul li.active ul {
    max-height: 5000px;
    margin: 0;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .attributeList.menu ul ul {
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .attributeList.menu ul ul li {
      position: relative; }
      .attributeList.menu ul ul li:hover .filterName, .attributeList.menu ul ul li:hover .filterItemCount {
        text-decoration: underline;
        color: #3e475b;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .attributeList.menu ul ul li:hover .colourPreview {
        max-width: 12px;
        height: 12px;
        border-radius: 5px;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
  .attributeList.menu ul label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.9375rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #20ace9; }
    .attributeList.menu ul label:active {
      color: #000000; }
  .attributeList.menu ul .filterName {
    overflow-wrap: break-word; }
  .attributeList.menu ul .colour-preview-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .attributeList.menu ul .colourPreview {
    width: 10px;
    height: 10px;
    display: block;
    margin: 0 10px 0 auto;
    border-radius: 5px;
    border: 1px solid transparent;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  .attributeList.menu ul .filterItemCount {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 5px;
    font-size: 0.9375rem;
    text-align: right; }
  .attributeList.menu ul .control .checkbox {
    margin-right: 12px;
    margin-left: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .attributeList.menu ul .control .checkbox span:before {
      right: 0; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item[aria-expanded=true] > a {
  display: none; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item.active {
  padding: 0; }

.attributeList.menu .is-accordion-submenu[aria-hidden=true] {
  height: 0;
  -webkit-transition: height 0.8s;
  transition: height 0.8s; }

.attributeList.menu .is-accordion-submenu.scroller {
  overflow-y: auto;
  padding: 0 10px 0 0; }
  .attributeList.menu .is-accordion-submenu.scroller ul {
    display: block !important; }

.attributeList.menu .optionHeading {
  position: relative;
  padding: 0;
  display: block;
  padding-bottom: 10px;
  color: #3e475b;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700; }
  .attributeList.menu .optionHeading:hover {
    color: #20ace9; }
  .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: #3e475b; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #72798a; }

.showMoreAttributes.active a {
  font-size: 0.9375rem;
  color: #3e475b;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #20ace9;
    -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: #20ace9;
    font-size: 12px;
    font-family: "Font Awesome Solid";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #3e475b; }
    .showLessAttributes a:hover:before {
      color: #3e475b;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #72798a; }
    .showLessAttributes a:active:before {
      color: #72798a;
      -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: #3e475b;
    font-size: 1.25rem;
    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: #3e475b;
  background-color: transparent;
  font-weight: 700;
  font-size: 1rem;
  font-style: italic; }

#appliedFilters ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #aeaeae; }

#appliedFilters li {
  position: relative;
  margin: 5px 0 0; }
  #appliedFilters li:hover a {
    background-color: #f3f3f3;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    #appliedFilters li:hover a:after {
      color: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400; }
  #appliedFilters a:after {
    content: 'x';
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    display: block;
    margin: auto;
    line-height: 0.6;
    color: #959595;
    font-weight: 700;
    font-style: normal;
    font-size: 1.0625rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.1875rem;
    color: #20ace9;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 0.9375rem;
    font-style: italic;
    font-weight: 600;
    color: #000000; }

input.price-slider-input {
  border-radius: 0 0 0 0; }

.price-slider-input {
  max-width: 70px;
  max-height: 35px;
  padding: 0 !important;
  border-width: 1px 1px 1px 0 !important;
  pointer-events: none; }
  .price-slider-input.ui-state-active {
    border-color: #20ace9;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #20ace9;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input + .currency {
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 10px;
    background-color: #ffffff;
    border-color: #c8c8c8;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
  .price-slider-input:focus + .currency {
    border-color: transparent;
    -webkit-box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .price-slider-input:-moz-read-only {
    background-color: transparent; }
  .price-slider-input:read-only {
    background-color: transparent; }

.price-input-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .price-input-container:nth-of-type(2) {
    float: right; }

#price-slider {
  max-width: 96%;
  margin-top: 25px; }
  @media screen and (min-width: 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: #3e475b;
          -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: "Exo 2", "Exo 2 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: #20ace9;
      -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: #3e475b;
    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: #2b69c6;
    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: 1rem; }
  .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(#20ace9, #2b69c6);
      -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: #20ace9;
      -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: 0.9375rem;
    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: 0.9375rem;
    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: #3e475b;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #3e475b;
      border-color: #3e475b;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.confirmation .prompt-cancel-button:disabled, .modal-container.confirmation .prompt-cancel-button.disabled, .modal-container.confirmation .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.confirmation .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.confirmation .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.confirmation .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .modal-container.confirmation .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:hover:before {
      color: #3e475b;
      -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: #20ace9;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .modal-container.alert:not(.ajax) .content {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert:not(.ajax) .content:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content h1, .modal-container.alert:not(.ajax) .content h2, .modal-container.alert:not(.ajax) .content h3, .modal-container.alert:not(.ajax) .content h4, .modal-container.alert:not(.ajax) .content h5, .modal-container.alert:not(.ajax) .content h6, .modal-container.alert:not(.ajax) .content p, .modal-container.alert:not(.ajax) .content a {
      color: #b20c0c; }
  .modal-container.alert .message {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert .message:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert .message > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert .message h1, .modal-container.alert .message h2, .modal-container.alert .message h3, .modal-container.alert .message h4, .modal-container.alert .message h5, .modal-container.alert .message h6, .modal-container.alert .message p, .modal-container.alert .message a {
      color: #b20c0c; }
  .modal-container.alert .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #ffffff;
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.alert .prompt-proceed-button:disabled, .modal-container.alert .prompt-proceed-button.disabled, .modal-container.alert .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.alert .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.alert .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.warning:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content h1, .modal-container.warning:not(.ajax) .content h2, .modal-container.warning:not(.ajax) .content h3, .modal-container.warning:not(.ajax) .content h4, .modal-container.warning:not(.ajax) .content h5, .modal-container.warning:not(.ajax) .content h6, .modal-container.warning:not(.ajax) .content p, .modal-container.warning:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.warning .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning .message h1, .modal-container.warning .message h2, .modal-container.warning .message h3, .modal-container.warning .message h4, .modal-container.warning .message h5, .modal-container.warning .message h6, .modal-container.warning .message p, .modal-container.warning .message a {
      color: #ff5e05; }
  .modal-container.warning .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #ffffff;
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.warning .prompt-proceed-button:disabled, .modal-container.warning .prompt-proceed-button.disabled, .modal-container.warning .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.warning .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.warning .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.action-required:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content h1, .modal-container.action-required:not(.ajax) .content h2, .modal-container.action-required:not(.ajax) .content h3, .modal-container.action-required:not(.ajax) .content h4, .modal-container.action-required:not(.ajax) .content h5, .modal-container.action-required:not(.ajax) .content h6, .modal-container.action-required:not(.ajax) .content p, .modal-container.action-required:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.action-required .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required .message h1, .modal-container.action-required .message h2, .modal-container.action-required .message h3, .modal-container.action-required .message h4, .modal-container.action-required .message h5, .modal-container.action-required .message h6, .modal-container.action-required .message p, .modal-container.action-required .message a {
      color: #ff5e05; }
  .modal-container.action-required .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #3e475b;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.action-required .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.action-required .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.action-required .prompt-proceed-button:active, .modal-container.action-required .prompt-proceed-button.active {
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.action-required .prompt-proceed-button:disabled, .modal-container.action-required .prompt-proceed-button.disabled, .modal-container.action-required .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.action-required .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.action-required .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.success:not(.ajax) .content {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success:not(.ajax) .content:has(.content-container):before {
      color: #12811f; }
    .modal-container.success:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success:not(.ajax) .content h1, .modal-container.success:not(.ajax) .content h2, .modal-container.success:not(.ajax) .content h3, .modal-container.success:not(.ajax) .content h4, .modal-container.success:not(.ajax) .content h5, .modal-container.success:not(.ajax) .content h6, .modal-container.success:not(.ajax) .content p, .modal-container.success:not(.ajax) .content a {
      color: #12811f; }
  .modal-container.success .message {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success .message:has(.content-container):before {
      color: #12811f; }
    .modal-container.success .message > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success .message h1, .modal-container.success .message h2, .modal-container.success .message h3, .modal-container.success .message h4, .modal-container.success .message h5, .modal-container.success .message h6, .modal-container.success .message p, .modal-container.success .message a {
      color: #12811f; }
  .modal-container.success .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #3e475b;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.success .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.success .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.success .prompt-proceed-button:active, .modal-container.success .prompt-proceed-button.active {
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.success .prompt-proceed-button:disabled, .modal-container.success .prompt-proceed-button.disabled, .modal-container.success .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.success .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.success .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .content-container {
    padding: 20px 10px; }
    @media screen and (min-width: 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: #3e475b;
      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: #3e475b; }
  .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: #3e475b;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-cancel-button:active, .modal-container.demo .prompt-cancel-button.active {
      background-color: #edeeef;
      border-color: #edeeef;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-cancel-button:disabled, .modal-container.demo .prompt-cancel-button.disabled, .modal-container.demo .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #3e475b;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #3e475b;
      border-color: #3e475b;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-proceed-button:disabled, .modal-container.demo .prompt-proceed-button.disabled, .modal-container.demo .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.modal-information-container {
  width: 100%;
  margin: auto;
  border: 1px solid #c8c8c8; }
  @media screen and (min-width: 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: 5px 0;
      margin: 0 0 10px;
      color: #ffffff;
      background-color: #ededed;
      font-weight: 400;
      font-size: 1.125rem;
      text-align: center;
      text-transform: none; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 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: 0.9375rem;
      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: #3e475b;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #20ace9;
    -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: "Font Awesome Solid";
      font-size: 10px;
      margin-left: 5px; }

/*
----- Modules -----
These can be used anywhere on the site header, main content & footer, these have a hard dependancy on foundation XY grid system for their positioning.
Handles the following: 
- Product / Image collections
  - Grid view
  - Slideshow view
- Varous CMS types:
  - Blog
  - News
  - Events
  - Generic CMS entries 
- EBG Information
- Backgrounds ( Currently only support just colours not images ): 
  - Row Backgrounds 
  - Module Backgrounds
*/
.row-background:first-of-type .module-background {
  margin-top: 0; }

.row-background {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center; }
  @media print, screen and (max-width: 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: #3e475b;
    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: #3e475b;
      -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: #3e475b;
        -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;
  font-size: 1.25rem;
  font-weight: 600;
  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: #3e475b;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #20ace9; }
  .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, #3e475b);
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.product-grid-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3; }
  .product-grid-module .group-description:hover {
    color: #3e475b;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #20ace9; }

.product-grid-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .description p {
    margin: 0;
    padding: 0; }

.product-grid-module .read-more {
  color: #484848; }

.product-grid-module .specification p {
  margin: 0;
  padding: 0; }

.product-grid-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 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.3; }
    .product-grid-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .product-grid-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .product-grid-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .product-grid-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .product-grid-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .product-grid-module .prices .price-container .value {
      color: #2b69c6;
      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: "Exo 2", "Exo 2 Fallback", "Arial"; }

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

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

.product-grid-module form, .product-grid-module .not-logged-in-container, .product-grid-module .stockline-view-button {
  margin: auto 0 0; }

.product-grid-module .addToBasket.icon {
  margin: 0; }

.product-grid-module .favouritesContainer {
  display: inline-block; }

.product-grid-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  .product-grid-module .quantity-container .control.select .label {
    display: none; }
  .product-grid-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

.product-grid-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-grid-module .quantity-free-text-container .label {
    display: none; }

.product-grid-module .content-container > a:first-of-type, .product-carousel-module .content-container > a:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0; }
  .product-grid-module .content-container > a:first-of-type:not(:has(img)), .product-carousel-module .content-container > a:first-of-type:not(:has(img)) {
    display: none; }

.product-carousel-module .collection-item:not(.ebg) .content-container.product, .product-grid-module .collection-item:not(.ebg) .content-container.product {
  padding-bottom: 20px;
  border-width: 0 0 5px 0;
  border-color: #dadada;
  border-style: solid;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-carousel-module .collection-item:not(.ebg) .content-container.product:hover, .product-grid-module .collection-item:not(.ebg) .content-container.product:hover {
    border-color: #3e475b;
    -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: 25px 0 20px;
    font-size: 2.1875rem;
    font-weight: 600;
    font-style: normal;
    color: #3e475b;
    line-height: 1.6;
    background-color: transparent; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 25px 0 20px;
    font-size: 2rem;
    font-weight: 600;
    font-style: normal;
    color: #3e475b;
    line-height: 1.6; }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    margin: 25px 0 10px;
    padding: 15px 0;
    font-size: 1.5625rem;
    font-weight: 600;
    font-style: normal;
    color: #20ace9;
    line-height: 1.6; }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 25px 0 10px;
    padding: 0 0 10px;
    font-size: 1.375rem;
    font-weight: 400;
    font-style: normal;
    color: #3e475b;
    line-height: 1.6; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 15px 0 10px;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 15px 0;
    font-size: 0.9375rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h6:first-child {
      margin-top: 0; }
    .cms-module h6:only-child {
      margin: 0; }
  .cms-module p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .cms-module p img[style*="float:left"], .cms-module p img[style*="float: left"], .cms-module p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .cms-module p img[style*="float:right"], .cms-module p img[style*="float: right"], .cms-module p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .cms-module p img {
      margin: .2em 0; }
    .cms-module p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .cms-module ul, .cms-module ol {
    text-align: left; }
  .cms-module ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .cms-module ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .cms-module ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .cms-module ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #3e475b;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .cms-module ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .cms-module ol ol ol {
        list-style-type: lower-roman; }
        .cms-module ol ol ol ol {
          list-style-type: lower-alpha; }
          .cms-module ol ol ol ol ol {
            list-style-type: lower-roman; }
  .cms-module li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 20px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 20px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 10px; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 10px; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 10px; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 15px; }
  .cms-module dl {
    text-align: left; }
  .cms-module p:not(:empty) + table, .cms-module p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .cms-module table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .cms-module table:not([class*=preset]) thead {
      background-color: transparent; }
      .cms-module table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .cms-module table:not([class*=preset]) thead th {
        font-weight: 700; }
    .cms-module table.responsive-table {
      display: block; }
      @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 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: #3e475b;
        -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: #3e475b; }
        .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: false, none, underline;
            text-decoration: false, none, underline;
    color: #20ace9;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline; }
  .cms-module h2 {
    line-height: 1.2; }
  .cms-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .cms-module .content-container .content-heading {
      width: 100%;
      display: block; }
  .cms-module.events-module {
    gap: 25px;
    padding: 20px; }
    @media screen and (min-width: 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: 0.9375rem;
      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: 0.9375rem;
      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: 0.9375rem;
    font-weight: 400; }
  .cms-module.news-module h3 {
    margin: 0 0 15px;
    padding: 0; }
  .cms-module.entry-module {
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    text-align: center; }
    @media screen and (min-width: 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: 20px;
    padding-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 45px;
        padding-bottom: 45px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 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: 20px;
      padding-bottom: 20px; }
      @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: 45px;
          padding-bottom: 45px; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 25px; }
      @media screen and (min-width: 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: #3e475b;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #20ace9;
      -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: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 0.9375rem;
      color: #484848;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.ebg-information-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 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: #3e475b; }

.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: #2b69c6;
  font-size: 16px; }

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

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

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

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

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

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

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

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

#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: #3e475b;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #3e475b;
      background-color: rgba(62, 71, 91, 0.5);
      color: #3e475b;
      -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: #3e475b;
      -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: #20ace9;
      -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: 0.875rem;
    font-weight: 700; }
    .product-enquiry-details-container .reveal-social-icons-container .share-button:after {
      font-size: 17px; }

.product-enquiry-heading-container .product-enquiry-heading {
  margin: 0;
  padding: 0;
  color: #3e475b;
  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: 0.9375rem;
    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 #878787; }
    @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: #3e475b;
          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: #3e475b;
    -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: 0.9375rem;
  color: #000000; }
  .part-code-container p, .product-enquiry-reference-container p {
    margin: 0;
    padding: 0; }
  .part-code-container span, .product-enquiry-reference-container span {
    font-weight: 700; }

.product-enquiry-reference-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 10px 0;
  gap: 10px 25px;
  border-bottom: 1px solid #dadada; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-reference-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 20px 0; } }

.product-enquiry-label-value-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-label-value-pair {
      gap: 5px 10px; } }
  .product-enquiry-label-value-pair .label {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
  .product-enquiry-label-value-pair .value {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 400; }
  .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 5px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
        gap: 5px 10px; } }

#product #product-info-left h1 {
  margin: 0 0 20px;
  padding-right: 50px;
  color: #3e475b;
  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: 1rem;
    font-weight: 400;
    line-height: 25px;
    color: #000000; }
  #product #product-notes .product-read-more {
    height: 14vh;
    overflow: hidden; }
  #product #product-notes .tabbed-read-more {
    font-weight: 700; }
    #product #product-notes .tabbed-read-more:hover {
      text-decoration: underline; }

#product #alternative-options {
  width: 100%; }
  @media screen and (min-width: 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: 0.9375rem;
      color: #000000; }
      .hazard-statement-container .hazard-info-container p img[style*="float:left"], .hazard-statement-container .hazard-info-container p img[style*="float: left"], .hazard-statement-container .hazard-info-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .hazard-statement-container .hazard-info-container p img[style*="float:right"], .hazard-statement-container .hazard-info-container p img[style*="float: right"], .hazard-statement-container .hazard-info-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .hazard-statement-container .hazard-info-container p img {
        margin: .2em 0; }
      .hazard-statement-container .hazard-info-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
  .hazard-statement-container .hazard-icons-container, .hazard-statement-container .hazard-info-container {
    margin-right: 20px;
    margin-left: 20px; }

.product-enquiry-multi-line-container {
  width: 100%; }
  .product-enquiry-multi-line-container .multi-line-heading {
    margin: 0 0 10px; }
    .product-enquiry-multi-line-container .multi-line-heading h2, .product-enquiry-multi-line-container .multi-line-heading h3, .product-enquiry-multi-line-container .multi-line-heading h4 {
      font-size: 0.875rem;
      font-weight: 700;
      font-family: "Exo 2", "Exo 2 Fallback", "Arial";
      color: #000000; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .product-enquiry-multi-line-container .multi-line-content ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #3e475b;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .product-enquiry-multi-line-container .multi-line-content ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .product-enquiry-multi-line-container .multi-line-content ol ol ol {
        list-style-type: lower-roman; }
        .product-enquiry-multi-line-container .multi-line-content ol ol ol ol {
          list-style-type: lower-alpha; }
          .product-enquiry-multi-line-container .multi-line-content ol ol ol ol ol {
            list-style-type: lower-roman; }
  .product-enquiry-multi-line-container .multi-line-content li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h2, .product-enquiry-multi-line-container .multi-line-content ol + h2 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h3, .product-enquiry-multi-line-container .multi-line-content ol + h3 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 15px; }
  .product-enquiry-multi-line-container .multi-line-content dl {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    padding-left: 0; }
  .product-enquiry-multi-line-container .multi-line-content p, .product-enquiry-multi-line-container .multi-line-content li {
    margin: 0;
    padding: 0;
    font-size: 0.9375rem;
    color: #000000; }
  .product-enquiry-multi-line-container.product-notes {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dadada; }
    .product-enquiry-multi-line-container.product-notes .read-more:not(:has(.read-more-content)) {
      max-height: 100px; }

#split-specification ul {
  list-style: none;
  line-height: 25px;
  padding-left: 0; }
  #split-specification ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #split-specification ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #3e475b;
      border-radius: 5px; }

#split-specification li {
  margin: 5px 0; }

#split-specification li, #split-specification p, #split-specification a, #split-specification span {
  color: #000000;
  font-size: 1rem;
  font-weight: 400;
  line-height: 25px; }

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

@media print, screen and (max-width: 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.3;
      font-weight: 700;
      color: #484848;
      font-size: 0.9375rem; }
  .optional-extras-container td.code-col {
    font-size: 0.9375rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 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: 0.9375rem;
      color: #000000; }
      .optional-extras-container .intro-container p img[style*="float:left"], .optional-extras-container .intro-container p img[style*="float: left"], .optional-extras-container .intro-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .optional-extras-container .intro-container p img[style*="float:right"], .optional-extras-container .intro-container p img[style*="float: right"], .optional-extras-container .intro-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .optional-extras-container .intro-container p img {
        margin: .2em 0; }
      .optional-extras-container .intro-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .optional-extras-container .intro-container ul, .optional-extras-container .intro-container ol {
      text-align: left; }
    .optional-extras-container .intro-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .optional-extras-container .intro-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .optional-extras-container .intro-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .optional-extras-container .intro-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #3e475b;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .optional-extras-container .intro-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .optional-extras-container .intro-container ol ol ol {
          list-style-type: lower-roman; }
          .optional-extras-container .intro-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .optional-extras-container .intro-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .optional-extras-container .intro-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h2, .optional-extras-container .intro-container ol + h2 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h3, .optional-extras-container .intro-container ol + h3 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 15px; }
    .optional-extras-container .intro-container dl {
      text-align: left; }
    @media print, screen and (min-width: 40em) {
      .optional-extras-container .intro-container {
        text-align: center; } }
  .optional-extras-container .cms-content-container {
    text-align: left; }

#product-case-pricing, #product-price-container {
  margin: 0 0 5px; }
  @media screen and (min-width: 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 #bfbfbf;
    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: #2b69c6;
        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: 40%; } }

.product-enquiry-group-pricing {
  --price-max-width: 1fr; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-single-pricing .prices .price {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: auto; } }

.product-enquiry-single-pricing .prices .price .value {
  line-height: normal; }

.product-enquiry-single-pricing, .product-enquiry-group-pricing {
  width: 100%;
  padding: 10px 0; }
  .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--price-max-width))); }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    @media screen and (min-width: 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: 1rem; }

#product-case-pricing .price {
  margin: 5px 0; }

.delivery-countdown-container [data-countdown-time] {
  font-size: 0.875rem;
  font-weight: 400; }

#additional-images .collection-item.active .thumbnail a, .product-enquiry-additional-images .collection-item.active .thumbnail a {
  border: 1px solid #20ace9;
  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 #3e475b;
      -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(32, 172, 233, 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: #20ace9; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #20ace9;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #3e475b; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #3e475b; }
  .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: 0.9375rem;
      font-weight: 600;
      line-height: 1.3; }
      #basket-table .stock-description-level .group-description:hover {
        color: #3e475b;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #20ace9; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #484848;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: none;
      line-height: normal;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #20ace9;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #3e475b;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    #basket-table .stock-description-level .stock-indicator {
      margin-top: 5px; }
    #basket-table .stock-description-level .stockWarning {
      display: none;
      color: rgba(149, 149, 149, 0.6);
      font-size: 0.875rem; }
      #basket-table .stock-description-level .stockWarning.active {
        display: block; }
      #basket-table .stock-description-level .stockWarning p {
        margin: 0;
        padding: 0; }
  #basket-table .subsidiary-description {
    color: #484848;
    font-size: 0.875rem;
    font-weight: 700; }
  #basket-table .non-returnable-description {
    font-style: italic;
    font-size: 0.875rem;
    color: #000000; }
    #basket-table .non-returnable-description:before {
      content: "";
      padding: 0 5px 0 0;
      font-family: "fontello";
      font-style: normal;
      color: #ff5e05; }
  @media screen and (min-width: 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: #3e475b; }
    @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: #3e475b;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #72798a; }
  #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: #3e475b;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ffffff;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #72798a;
        border-color: #72798a;
        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: #20ace9;
      border-color: #20ace9;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled, #basket .checkout-buttons-container #sagepay-checkout-button.disabled, #basket .checkout-buttons-container #sagepay-checkout-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: #6d6d6d; }
    #basket .checkout-buttons-container #sagepay-checkout-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket .checkout-buttons-container #sagepay-checkout-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket .checkout-buttons-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    font-size: 0.9375rem;
    text-transform: uppercase; }

.summary-item-input-container + .checkout-buttons-container, .summary-item + .checkout-buttons-container {
  margin: 20px 0 0; }

.summary-item-input-container.voucher label:before {
  content: ""; }

.summary-item-input-container.vat label:before {
  content: ""; }

.summary-item-input-container {
  width: 100%;
  margin: 30px 0 25px;
  padding: 0; }
  .summary-item-input-container label {
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    color: #3e475b;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #72798a;
      font-family: "Font Awesome Solid";
      font-size: 0.875rem; }
  .summary-item-input-container .summary-input-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    .summary-item-input-container .summary-input-container.is-invalid-container + .form-error {
      display: block;
      margin: 15px 0 0;
      padding: 0; }
  .summary-item-input-container .summary-input {
    height: 35px;
    margin: 0;
    padding: 0 0 0 5px;
    background-color: transparent;
    border: 0;
    font-size: 0.875rem;
    color: #000000; }
    .summary-item-input-container .summary-input:hover, .summary-item-input-container .summary-input:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .summary-item-input-container .summary-input::-webkit-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #72798a; }
  .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: #ededed;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #20ace9;
        border-color: #20ace9;
        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: #72798a;
      border-color: #72798a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.apply:disabled, .summary-item-input-container .summary-input-submit.apply.disabled, .summary-item-input-container .summary-input-submit.apply[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.apply:disabled:hover, .summary-item-input-container .summary-input-submit.apply.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.apply:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.apply .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .summary-input-submit.remove {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #c00000;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 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: #72798a;
      border-color: #72798a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.remove:disabled, .summary-item-input-container .summary-input-submit.remove.disabled, .summary-item-input-container .summary-input-submit.remove[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.remove:disabled:hover, .summary-item-input-container .summary-input-submit.remove.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.remove:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.remove .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .callout {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 10px 0;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    .summary-item-input-container .callout:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 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: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .summary-item-input-container .callout p img[style*="float:left"], .summary-item-input-container .callout p img[style*="float: left"], .summary-item-input-container .callout p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .summary-item-input-container .callout p img[style*="float:right"], .summary-item-input-container .callout p img[style*="float: right"], .summary-item-input-container .callout p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .summary-item-input-container .callout p img {
        margin: .2em 0; }
      .summary-item-input-container .callout p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .summary-item-input-container .callout p:not(:empty) + table, .summary-item-input-container .callout p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .summary-item-input-container .callout table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .summary-item-input-container .callout table:not([class*=preset]) thead {
        background-color: transparent; }
        .summary-item-input-container .callout table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .summary-item-input-container .callout table:not([class*=preset]) thead th {
          font-weight: 700; }
      .summary-item-input-container .callout table.responsive-table {
        display: block; }
        @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 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: #3e475b;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 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: #20ace9;
        border-color: #20ace9;
        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: #3e475b;
      border-color: #3e475b;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .update-basket:disabled, #basket-controls .update-basket.disabled, #basket-controls .update-basket[disabled] {
      color: #aeaeae;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .update-basket:disabled:after, #basket-controls .update-basket.disabled:after, #basket-controls .update-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .update-basket:disabled:hover, #basket-controls .update-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .update-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .update-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .update-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket-controls .empty-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #3e475b;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 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: #20ace9;
        border-color: #20ace9;
        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: #3e475b;
      border-color: #3e475b;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .empty-basket:disabled, #basket-controls .empty-basket.disabled, #basket-controls .empty-basket[disabled] {
      color: #959595;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .empty-basket:disabled:after, #basket-controls .empty-basket.disabled:after, #basket-controls .empty-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .empty-basket:disabled:hover, #basket-controls .empty-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .empty-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .empty-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .empty-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.quick-order-form-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 15px; }
  @media screen and (min-width: 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: #3e475b;
        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: #2a2f60;
  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: #3e475b;
    text-transform: none; }
  #basket-summary .summary-intro-container, .summary-container .summary-intro-container {
    margin: 0 0 20px; }
    #basket-summary .summary-intro-container p, .summary-container .summary-intro-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem; }
  #basket-summary .summary-item, .summary-container .summary-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5px 0 0;
    font-size: 0.9375rem;
    color: #000000; }
    #basket-summary .summary-item.highlighted, .summary-container .summary-item.highlighted {
      color: var(--accent-colour-1-lightness-0);
      font-weight: 600; }
    #basket-summary .summary-item span, .summary-container .summary-item span {
      display: inline-block; }
      #basket-summary .summary-item span.value, #basket-summary .summary-item span.label, .summary-container .summary-item span.value, .summary-container .summary-item span.label {
        width: 100%; }
      #basket-summary .summary-item span.label, .summary-container .summary-item span.label {
        max-width: 60%;
        font-weight: 400; }
      #basket-summary .summary-item span.value, .summary-container .summary-item span.value {
        max-width: 40%;
        text-align: right;
        font-weight: 400; }
    #basket-summary .summary-item .incVat, .summary-container .summary-item .incVat {
      width: 100%;
      text-align: right;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: italic; }
  #basket-summary #total-value .label, #basket-summary #total-value .value, .summary-container #total-value .label, .summary-container #total-value .value {
    color: #3e475b;
    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: #3e475b;
    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: #20ace9; }
    #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: #3e475b;
  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: #3e475b;
      border-color: #3e475b; }
      .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: 1rem; } }

#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: 0.9375rem;
        font-weight: 600;
        line-height: 1.3; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #3e475b;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #20ace9; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 700;
        text-transform: none;
        line-height: normal;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #20ace9;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #3e475b;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .order-container #order-table .stock-description-level .stock-indicator {
        margin-top: 5px; }
      .order-container #order-table .stock-description-level .stockWarning {
        display: none;
        color: rgba(149, 149, 149, 0.6);
        font-size: 0.875rem; }
        .order-container #order-table .stock-description-level .stockWarning.active {
          display: block; }
        .order-container #order-table .stock-description-level .stockWarning p {
          margin: 0;
          padding: 0; }
    .order-container #order-table .subsidiary-description {
      color: #484848;
      font-size: 0.875rem;
      font-weight: 700; }
    .order-container #order-table .non-returnable-description {
      font-style: italic;
      font-size: 0.875rem;
      color: #000000; }
      .order-container #order-table .non-returnable-description:before {
        content: "";
        padding: 0 5px 0 0;
        font-family: "fontello";
        font-style: normal;
        color: #ff5e05; }
    @media screen and (min-width: 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: #3e475b; }
      @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: #3e475b;
    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: #3e475b;
    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: 0.9375rem; }
  @media screen and (min-width: 81.25em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #3e475b;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 0.9375rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 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: #20ace9;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #3e475b; }

.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: 0.9375rem; }
  @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: #20ace9;
    -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: 0.9375rem; }
  #tokens-table .card-select-col .radio, .tokens-table .card-select-col .radio {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 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: 0.9375rem;
  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.125rem;
    font-weight: 700;
    color: #3e475b; }
    .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: #3e475b; }
    @media print, screen and (max-width: 81.24875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 15px 35px;
        border: 1px solid #dadada;
        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: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #ffffff;
      background-color: #3e475b;
      border-color: #3e475b;
      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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .account-return-button:disabled, .account-return-button.disabled, .account-return-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: #6d6d6d; }
  .account-return-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .account-return-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

@media screen and (min-width: 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: #20ace9; }
  .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: #20ace9; }
  .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: #3e475b;
  -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: #3e475b;
    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: #3e475b;
      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: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }

.display-cms-series {
  margin: 25px 0 0; }
  .display-cms-series a:hover h3, .display-cms-series a:hover .video-player-indicator-text {
    text-decoration: underline;
    color: var(--secondary-colour-lightness-0, #20ace9);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .display-cms-series h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700; }
  .display-cms-series .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
  .display-cms-series .entry-content {
    font-size: 1rem; }
    .display-cms-series .entry-content p {
      margin: 0;
      padding: 0; }
  .display-cms-series.news .cell {
    background-color: #eeeeee; }
    .display-cms-series.news .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.blog .cell {
    background-color: #eeeeee; }
    .display-cms-series.blog .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.events .cell {
    background-color: #eeeeee; }
    .display-cms-series.events .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.video-playlist .cell > a {
    background-color: #f3f3f3; }
    .display-cms-series.video-playlist .cell > a:hover {
      background-color: var(--white-colour); }
  .display-cms-series .cell {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .display-cms-series .cell:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .display-cms-series.table .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
    padding: 10px; }
    @media screen and (min-width: 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: 0.9375rem;
    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: 0.875rem;
  color: #484848; }

.read-more-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  color: #484848;
  font-size: 1rem;
  font-weight: 600;
  text-transform: none; }
  @media screen and (min-width: 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: #3e475b;
      line-height: 0.8;
      opacity: 0.3; }
    .cms-entry-container .cms-heading h1 {
      margin: 0 0 40px; }
  .cms-entry-container .content-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1px;
            flex: 1 1px; }
    .cms-entry-container .content-container h1 {
      margin: 25px 0 20px;
      font-size: 2.1875rem;
      font-weight: 600;
      font-style: normal;
      color: #3e475b;
      line-height: 1.6;
      background-color: transparent; }
      .cms-entry-container .content-container h1:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h1:only-child {
        margin: 0; }
    .cms-entry-container .content-container h2 {
      margin: 25px 0 20px;
      font-size: 2rem;
      font-weight: 600;
      font-style: normal;
      color: #3e475b;
      line-height: 1.6; }
      .cms-entry-container .content-container h2:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h2:only-child {
        margin: 0; }
    .cms-entry-container .content-container h3 {
      margin: 25px 0 10px;
      padding: 15px 0;
      font-size: 1.5625rem;
      font-weight: 600;
      font-style: normal;
      color: #20ace9;
      line-height: 1.6; }
      .cms-entry-container .content-container h3:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h3:only-child {
        margin: 0; }
    .cms-entry-container .content-container h4 {
      margin: 25px 0 10px;
      padding: 0 0 10px;
      font-size: 1.375rem;
      font-weight: 400;
      font-style: normal;
      color: #3e475b;
      line-height: 1.6; }
      .cms-entry-container .content-container h4:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h4:only-child {
        margin: 0; }
    .cms-entry-container .content-container h5 {
      margin: 15px 0 10px;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h5:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h5:only-child {
        margin: 0; }
    .cms-entry-container .content-container h6 {
      margin: 15px 0;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h6:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h6:only-child {
        margin: 0; }
    .cms-entry-container .content-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
      .cms-entry-container .content-container p img[style*="float:left"], .cms-entry-container .content-container p img[style*="float: left"], .cms-entry-container .content-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .cms-entry-container .content-container p img[style*="float:right"], .cms-entry-container .content-container p img[style*="float: right"], .cms-entry-container .content-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .cms-entry-container .content-container p img {
        margin: .2em 0; }
      .cms-entry-container .content-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .cms-entry-container .content-container ul, .cms-entry-container .content-container ol {
      text-align: left; }
    .cms-entry-container .content-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .cms-entry-container .content-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .cms-entry-container .content-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .cms-entry-container .content-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #3e475b;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .cms-entry-container .content-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .cms-entry-container .content-container ol ol ol {
          list-style-type: lower-roman; }
          .cms-entry-container .content-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .cms-entry-container .content-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .cms-entry-container .content-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h2, .cms-entry-container .content-container ol + h2 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h3, .cms-entry-container .content-container ol + h3 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 15px; }
    .cms-entry-container .content-container dl {
      text-align: left; }
    .cms-entry-container .content-container p:not(:empty) + table, .cms-entry-container .content-container p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .cms-entry-container .content-container table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .cms-entry-container .content-container table:not([class*=preset]) thead {
        background-color: transparent; }
        .cms-entry-container .content-container table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .cms-entry-container .content-container table:not([class*=preset]) thead th {
          font-weight: 700; }
      .cms-entry-container .content-container table.responsive-table {
        display: block; }
        @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 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: #000000; }
    .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: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .cms-entries-controls .control-button, .entries-icon-controls .control-button {
    width: 55px;
    height: 55px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    color: #2b69c6;
    -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: #ededed;
      color: #3e475b;
      -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: #20ace9;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "Font Awesome Solid";
      font-size: 26px; }
  .cms-entries-controls .previous-cms-entry:before, .entries-icon-controls .previous-cms-entry:before {
    content: ""; }
  .cms-entries-controls .next-cms-entry:before, .entries-icon-controls .next-cms-entry:before {
    content: ""; }

.entries-text-controls-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 0;
  margin: 15px 0 20px; }
  @media screen and (min-width: 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: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .entries-text-controls-container .control-button.previous-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 15px 15px 15px);
    color: #2b69c6;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #20ace9;
    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: #3e475b;
        background-color: #ededed;
        border-color: #3e475b;
        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: #3e475b;
          -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: #20ace9;
      border-color: #72798a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.previous-entry:active:before, .entries-text-controls-container .control-button.previous-entry.active:before {
        color: #ffffff; }
    .entries-text-controls-container .control-button.previous-entry:disabled, .entries-text-controls-container .control-button.previous-entry.disabled, .entries-text-controls-container .control-button.previous-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.previous-entry:disabled:before, .entries-text-controls-container .control-button.previous-entry.disabled:before, .entries-text-controls-container .control-button.previous-entry[disabled]:before {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:disabled:hover, .entries-text-controls-container .control-button.previous-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.previous-entry:before {
      content: "";
      margin: 0 10px 0 0;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #2b69c6;
      -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: #2b69c6;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #20ace9;
    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: #3e475b;
        background-color: #ededed;
        border-color: #3e475b;
        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: #3e475b;
          -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: #20ace9;
      border-color: #72798a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.next-entry:active:after, .entries-text-controls-container .control-button.next-entry.active:after {
        color: #ffffff; }
    .entries-text-controls-container .control-button.next-entry:disabled, .entries-text-controls-container .control-button.next-entry.disabled, .entries-text-controls-container .control-button.next-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.next-entry:disabled:after, .entries-text-controls-container .control-button.next-entry.disabled:after, .entries-text-controls-container .control-button.next-entry[disabled]:after {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:disabled:hover, .entries-text-controls-container .control-button.next-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.next-entry:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #2b69c6;
      -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: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #ffffff;
      background-color: #3e475b;
      border-color: #3e475b;
      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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-entry-back-button:disabled, .cms-entry-back-button.disabled, .cms-entry-back-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-entry-back-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-entry-back-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.site-map {
  margin: 0 0 25px; }
  .site-map > ul {
    margin: 0;
    padding: 0; }
    .site-map > ul > li {
      padding: 20px 0; }
  .site-map:not(.suppress-border) > ul > li {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map:not(.suppress-border) > ul > li:only-child {
      border-width: 0; }
    .site-map:not(.suppress-border) > ul > li:last-child {
      border-color: transparent; }
    .site-map:not(.suppress-border) > ul > li:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .site-map:not(.suppress-border) > ul > li:hover a:before {
        border-color: #3e475b;
        -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: #3e475b; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "Font Awesome Solid";
        color: #aeaeae;
        font-size: 20px;
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
    .site-map ul .parent > ul {
      margin-left: 30px; }
    .site-map ul .parent .child {
      padding: 7px 0; }
      .site-map ul .parent .child > a {
        font-size: 1rem;
        font-weight: 400;
        color: #000000; }
  .site-map .parent a:hover, .site-map ul .child > a:hover {
    color: #20ace9;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #72798a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }

.cms-module .read-more-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #2b69c6;
  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: #20ace9;
    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: #72798a;
    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: #ffffff;
  background-color: #20ace9;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #ffffff;
      background-color: #3e475b;
      border-color: #3e475b;
      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: #72798a;
    border-color: #72798a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-to-information:disabled, .back-to-information.disabled, .back-to-information[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: #6d6d6d; }
  .back-to-information:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .back-to-information .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-container {
  margin: 12px 0 41px; }
  .cms-container p {
    font-size: 0.9375rem; }

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

.cms-content-container h1 {
  margin: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6;
  background-color: transparent; }
  .cms-content-container h1:first-child {
    margin-top: 0; }
  .cms-content-container h1:only-child {
    margin: 0; }

.cms-content-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6; }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #20ace9;
  line-height: 1.6; }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

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

.cms-content-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h6:first-child {
    margin-top: 0; }
  .cms-content-container h6:only-child {
    margin: 0; }

.cms-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .cms-content-container p img[style*="float:left"], .cms-content-container p img[style*="float: left"], .cms-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .cms-content-container p img[style*="float:right"], .cms-content-container p img[style*="float: right"], .cms-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .cms-content-container p img {
    margin: .2em 0; }
  .cms-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.cms-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 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.6;
  list-style: none;
  line-height: 25px; }
  .cms-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .cms-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .cms-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #3e475b;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .cms-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .cms-content-container ol ol ol {
      list-style-type: lower-roman; }
      .cms-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .cms-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.cms-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

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

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

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

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

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

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

.cms-content-container dl {
  text-align: left; }

.cms-content-container.success {
  margin-bottom: 70px; }
  .cms-content-container.success h2 {
    color: #484848; }
  .cms-content-container.success .amount-paid {
    font-weight: 700;
    color: #12811f; }

.cms-content-container.alert {
  margin-bottom: 35px; }
  .cms-content-container.alert h2 {
    margin: 0 0 5px;
    color: #484848; }
  .cms-content-container.alert p {
    color: #484848; }
  .cms-content-container.alert .amount-paid {
    font-weight: 700;
    color: #b20c0c; }

.cms-content-container.center-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center; }

.cms-content-container.error {
  color: #b20c0c; }
  .cms-content-container.error h2, .cms-content-container.error h3, .cms-content-container.error h4, .cms-content-container.error h5 {
    color: #b20c0c; }

.cms-content-container.gutter-y {
  margin: 12px 0 41px; }

.cms-content-container.page-heading-content {
  padding: 0 0 15px; }

.cms-content-container.no-side-padding {
  padding-right: 0;
  padding-left: 0; }

.cms-content-container.outline {
  padding: 15px 10px;
  border: 2px solid #eeeeee;
  border-radius: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 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: 0.9375rem;
  color: var(--primary-colour-lightness-0, var(--primary-colour-lightness-0)); }
  a:hover {
    color: var(--secondary-colour-lightness-0); }
  a:active {
    color: var(--primary-colour-lightness-2); }

.cms-content-container a:hover {
  text-decoration: underline; }

.cms-content-container a[class*="-button"]:hover {
  text-decoration: none; }

.cms-content-container p:first-of-type {
  margin-top: 0;
  padding-top: 0; }

.cms-content-container p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0; }

.cms-content-container + table {
  margin-top: 15px; }

.cms-content-container + .page-buttons-container {
  margin-top: 20px; }

/************************************** Popups ************************************/
/**********************************************************************************/
#popupOverlay {
  background-color: rgba(72, 72, 72, 0.5);
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 50000; }
  #popupOverlay:after {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0; }

#popupContainer {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.3em;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  display: inline-block;
  margin: 0 2%;
  max-width: 800px;
  overflow: hidden;
  position: relative;
  text-align: left;
  vertical-align: middle; }
  @media screen and (min-width: 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: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:hover:before {
    color: #3e475b;
    -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: #20ace9;
    -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(135, 135, 135, 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: #3e475b;
    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: #3e475b;
    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 #3e475b;
      background-color: rgba(62, 71, 91, 0.5);
      color: #3e475b;
      -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: #3e475b; }
  #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(62, 71, 91, 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: #3e475b;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #3e475b;
      background-color: rgba(62, 71, 91, 0.5);
      color: #3e475b;
      -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: #3e475b;
    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 #3e475b;
      background-color: rgba(62, 71, 91, 0.5);
      color: #3e475b;
      -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: #3e475b;
  background-color: #ededed; }

#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: #3e475b;
    -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: #3e475b; }
      @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: #3e475b; }
      @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: "Font Awesome Solid";
      font-size: 12px;
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #3e475b; }
    .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: #8899af;
      -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: #3e475b;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #20ace9; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #3e475b; }
  .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: #72798a;
  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: #3e475b;
  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: #20ace9;
  border-color: #3e475b; }

.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: #3e475b;
    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: #3e475b;
      font-family: "Font Awesome Solid";
      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: #20ace9;
      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: #3e475b;
      border-color: #ffffff; }
      .lightbox .lightbox-content .prev:not(.disabled):active:before,
      .lightbox .lightbox-content .next:not(.disabled):active:before {
        color: #ffffff; }
    .lightbox .lightbox-content .prev.disabled,
    .lightbox .lightbox-content .next.disabled {
      opacity: 0.4;
      background: transparent;
      border-color: #6d6d6d;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      cursor: no-drop; }
  .lightbox .lightbox-content .prev {
    left: 0;
    border-radius: 0 5px 5px 0;
    border-width: 2px 2px 2px 0; }
    .lightbox .lightbox-content .prev:before {
      content: ""; }
  .lightbox .lightbox-content .next {
    right: 0;
    border-radius: 5px 0 0 5px;
    border-width: 2px 0 2px 2px; }
    .lightbox .lightbox-content .next:before {
      content: ""; }

.lightbox .slidesContainer {
  -webkit-box-shadow: -20px 6px 60px -13px #000000;
          box-shadow: -20px 6px 60px -13px #000000; }

.lightbox #lightboxPagerContainer {
  height: auto;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  list-style: none; }
  @media screen and (min-width: 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(62, 71, 91, 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(62, 71, 91, 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 #3e475b;
    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: #3e475b;
      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: #3e475b;
      -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;
  font-size: 1.25rem;
  font-weight: 600;
  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: #3e475b;
    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: #20ace9; }
  [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, #3e475b);
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .department-description:hover, .product-carousel-module .department-description:hover, .cms-carousel-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

[data-bxSlider] .group-description, .product-carousel-module .group-description, .cms-carousel-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #3e475b;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #20ace9; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .description p, .product-carousel-module .description p, .cms-carousel-module .description p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .read-more, .product-carousel-module .read-more, .cms-carousel-module .read-more {
  color: #484848; }

[data-bxSlider] .specification p, .product-carousel-module .specification p, .cms-carousel-module .specification p {
  margin: 0;
  padding: 0; }

[data-bxSlider] .code, .product-carousel-module .code, .cms-carousel-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 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.3; }
    [data-bxSlider] .prices .price-container:has(.vat), .product-carousel-module .prices .price-container:has(.vat), .cms-carousel-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    [data-bxSlider] .prices .price-container .label, .product-carousel-module .prices .price-container .label, .cms-carousel-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      [data-bxSlider] .prices .price-container .label:not(:empty), .product-carousel-module .prices .price-container .label:not(:empty), .cms-carousel-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
      color: #2b69c6;
      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: "Exo 2", "Exo 2 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; }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-prev {
    right: 36px; } }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-next {
    left: 36px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-prev {
    right: 37.5px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-next {
    left: 37.5px; } }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 75px; } }

.carousel.largeControls .bx-controls .bx-prev:not(.disabled),
.carousel.largeControls .bx-controls .bx-next:not(.disabled) {
  width: 45px;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 75px;
      height: 75px; } }

.carousel.smallControls .bx-controls {
  height: 45px;
  width: 100px; }
  .carousel.smallControls .bx-controls .bx-prev:not(.disabled),
  .carousel.smallControls .bx-controls .bx-next:not(.disabled) {
    width: 45px;
    height: 45px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):hover,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):hover {
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      width: 12px;
      height: 12px; }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #3e475b;
      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 #3e475b;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-43deg);
              transform: rotate(-43deg); } }

.carousel:not(.smallControls) .bx-controls {
  width: 100%; }
  .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    background-color: #ffffff;
    opacity: 0.8;
    -webkit-transition: background-color 0.8s, opacity 0.8s, border-color 0.8s;
    transition: background-color 0.8s, opacity 0.8s, border-color 0.8s; }
    @media print, screen and (max-width: 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: #3e475b; }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):active,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):active {
      background-color: #ffffff;
      opacity: 1; }

.bx-controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

.small-wide-controls .bx-controls .bx-prev:not(.disabled):before {
  content: "";
  font-size: 20px; }

.small-wide-controls .bx-controls .bx-next:not(.disabled):before {
  content: "";
  font-size: 20px; }

.bx-controls.disabled {
  display: none; }

.bx-controls .bx-prev:not(.disabled):before,
.bx-controls .bx-next:not(.disabled):before {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 20px;
  color: #3e475b;
  -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: 36px; } }

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

.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: #aeaeae;
      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: #2b69c6;
        border-color: #2b69c6;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #ffffff;
        border-color: #ffffff; }
      .bx-pager .bx-pager-item a.active {
        background-color: #ffffff;
        border-color: #ffffff;
        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: #fff533;
      -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: #20ace9; }
  .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: #20ace9;
    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: #fff200;
    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: #20ace9;
    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: #3e475b;
    color: #ffffff; }

.tooltip-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer; }
  .tooltip-container.warning .tooltip-content .content-container:before, .tooltip-container.alert .tooltip-content .content-container:before {
    content: "";
    display: block;
    margin-bottom: 5px;
    font-size: 20px;
    font-family: "Font Awesome Solid";
    text-align: center; }
  .tooltip-container.warning .tooltip-content .content-container p, .tooltip-container.alert .tooltip-content .content-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 700; }
  .tooltip-container.warning .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #ff5e05;
    font-size: 20px; }
  .tooltip-container.warning .tooltip-content {
    border-color: #ff5e05;
    background-color: #ffefe6; }
    .tooltip-container.warning .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.warning .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.warning .tooltip-content .content-container:before {
      content: "";
      color: #ff5e05; }
    .tooltip-container.warning .tooltip-content p {
      color: #ff5e05;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.alert .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #b20c0c;
    font-size: 20px; }
  .tooltip-container.alert .tooltip-content {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .tooltip-container.alert .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.alert .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.alert .tooltip-content .content-container:before {
      content: "";
      color: #b20c0c; }
    .tooltip-container.alert .tooltip-content p {
      color: #b20c0c;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.state-indicator .tooltip-trigger:before {
    content: ""; }
  .tooltip-container.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tooltip-container.align-right .tooltip-content:before, .tooltip-container.align-right .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container.responsive-override-align-right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-right .tooltip-content-container {
      left: 0; }
    .tooltip-container.responsive-override-align-right .tooltip-content:before, .tooltip-container.responsive-override-align-right .tooltip-content:after {
      left: 8px; }
  .tooltip-container.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.align-left .tooltip-content:before, .tooltip-container.align-left .tooltip-content:after {
      left: 8px; }
  .tooltip-container.responsive-override-align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-left .tooltip-content-container {
      right: 0;
      left: unset; }
    .tooltip-container.responsive-override-align-left .tooltip-content:before, .tooltip-container.responsive-override-align-left .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container .tooltip-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tooltip-container .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #20ace9;
      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 #20ace9;
    border-radius: 0;
    z-index: 1; }
    .tooltip-content-container .tooltip-content ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    .tooltip-content-container .tooltip-content li, .tooltip-content-container .tooltip-content a, .tooltip-content-container .tooltip-content p {
      font-size: 0.8125rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
    .tooltip-content-container .tooltip-content li p {
      margin: 10px 0; }
    .tooltip-content-container .tooltip-content p {
      padding: 0;
      margin: 0; }

/*
----- Read more -----
Handles the following: 
- Revealing additional markup, this can include text or images.
- How the fade / gradiant gets used when cutting of the overflowing content.
*/
.read-more {
  position: relative; }
  .read-more.container-calculation-waiting {
    display: none; }
  .read-more.active .read-more-content {
    height: 100% !important;
    -webkit-transition: height 0.6s;
    transition: height 0.6s; }
  .read-more.active .readMoreButton:before {
    content: ""; }
  @media screen and (min-width: 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: #3e475b;
    font-weight: 600; }
    .read-more .readMoreButton:hover:before {
      color: #959595;
      font-size: 0.9375rem;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .read-more .readMoreButton:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 5px;
      left: 0;
      font-family: "Font Awesome Solid";
      font-size: 0.75rem;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }

.read-more:not(.fade-disabled-low-content) .read-more-content:not(.no-fade) {
  -webkit-mask-image: linear-gradient(to top, transparent 0px, #000000 50px);
          mask-image: linear-gradient(to top, transparent 0px, #000000 50px); }

@media screen and (min-width: 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 #3e475b;
      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: #3e475b;
  border-radius: 0; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    text-transform: none;
    font-family: "Exo 2", "Exo 2 Fallback", "Arial"; }
  .ac-collection-title-container .view-all {
    float: right; }
    .ac-collection-title-container .view-all:hover a:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .ac-collection-title-container .view-all a {
      color: #ffffff;
      font-size: 0.9375rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .ac-collection-title-container .view-all a:after {
        content: "";
        margin: 0 0 0 5px;
        font-family: "Font Awesome Solid";
        font-size: 0.5625rem;
        color: #20ace9;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Exo 2", "Exo 2 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: #3e475b;
    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: #3e475b;
      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: #3e475b;
      -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: #20ace9;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

.notification-container.callout {
  display: none; }

.callout-container {
  position: fixed;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 999999999999; }
  .callout-container.side .callout {
    border-radius: 0 0 0 0; }
  .callout-container .callout {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 25px;
    font-weight: 700;
    font-size: 1rem; }
    .callout-container .callout:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background-color: #ffffff;
      z-index: -1; }
    .callout-container .callout.success {
      border-left: 5px solid #12811f;
      background-color: #dffbe2;
      color: #12811f; }
      .callout-container .callout.success strong {
        color: #12811f; }
    .callout-container .callout.warning {
      border-left: 5px solid #ff5e05;
      background-color: #ffefe6;
      color: #ff5e05; }
      .callout-container .callout.warning strong {
        color: #ff5e05; }
    .callout-container .callout.alert {
      border-left: 5px solid #b20c0c;
      background-color: #fde1e1;
      color: #b20c0c; }
      .callout-container .callout.alert strong {
        color: #b20c0c; }
    .callout-container .callout h5 {
      margin: 0 25px 0 0;
      font-weight: 400;
      font-size: 1rem; }
      .callout-container .callout h5 strong {
        font-weight: 700; }
    .callout-container .callout .close-button {
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .callout-container .callout .close-button:before {
        position: relative;
        bottom: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .callout-container .callout .close-button:before:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #aeaeae;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:hover:before {
          color: #3e475b;
          -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: #20ace9;
          -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: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .on-page-notification p img[style*="float:left"], .on-page-notification p img[style*="float: left"], .on-page-notification p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .on-page-notification p img[style*="float:right"], .on-page-notification p img[style*="float: right"], .on-page-notification p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .on-page-notification p img {
      margin: .2em 0; }
    .on-page-notification p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .on-page-notification p:not(:empty) + table, .on-page-notification p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .on-page-notification table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .on-page-notification table:not([class*=preset]) thead {
      background-color: transparent; }
      .on-page-notification table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .on-page-notification table:not([class*=preset]) thead th {
        font-weight: 700; }
    .on-page-notification table.responsive-table {
      display: block; }
      @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 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: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .no-items-found-container p img[style*="float:left"], .no-items-found-container p img[style*="float: left"], .no-items-found-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .no-items-found-container p img[style*="float:right"], .no-items-found-container p img[style*="float: right"], .no-items-found-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .no-items-found-container p img {
      margin: .2em 0; }
    .no-items-found-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .no-items-found-container p:not(:empty) + table, .no-items-found-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .no-items-found-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .no-items-found-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .no-items-found-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .no-items-found-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .no-items-found-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 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: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .internal-error-container p img[style*="float:left"], .internal-error-container p img[style*="float: left"], .internal-error-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .internal-error-container p img[style*="float:right"], .internal-error-container p img[style*="float: right"], .internal-error-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .internal-error-container p img {
      margin: .2em 0; }
    .internal-error-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .internal-error-container p:not(:empty) + table, .internal-error-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .internal-error-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .internal-error-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .internal-error-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .internal-error-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .internal-error-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 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: 0.9375rem; }

.notification-container.compatibility {
  width: 100%;
  max-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  background-color: rgba(255, 1, 1, 0.9);
  color: #ffffff;
  z-index: 1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 0;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .notification-container.compatibility:hover {
    background-color: #ff0101;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .notification-container.compatibility h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #ffffff; }
  .notification-container.compatibility p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600; }
  .notification-container.compatibility a {
    color: #ffffff;
    text-decoration: underline; }
    .notification-container.compatibility a:hover {
      color: #000000;
      -webkit-transition: color box-shadow 0.8s, border-color 0.8s;
      transition: color box-shadow 0.8s, border-color 0.8s; }

.notifications-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2000; }

.notification-container {
  max-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 9999999999;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .notification-container.active {
    max-height: 500px;
    padding: 7.5px 15px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms;
    -webkit-transition: max-height 3s;
    transition: max-height 3s; }
    @media screen and (min-width: 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: 25px 0 20px;
        font-size: 2.1875rem;
        font-weight: 600;
        font-style: normal;
        color: #3e475b;
        line-height: 1.6;
        background-color: transparent; }
        .notification-container .read-more .read-more-content h1:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h1:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h2 {
        margin: 25px 0 20px;
        font-size: 2rem;
        font-weight: 600;
        font-style: normal;
        color: #3e475b;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h2:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h2:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h3 {
        margin: 25px 0 10px;
        padding: 15px 0;
        font-size: 1.5625rem;
        font-weight: 600;
        font-style: normal;
        color: #20ace9;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h3:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h3:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h4 {
        margin: 25px 0 10px;
        padding: 0 0 10px;
        font-size: 1.375rem;
        font-weight: 400;
        font-style: normal;
        color: #3e475b;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h4:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h4:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h5 {
        margin: 15px 0 10px;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h5:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h5:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h6 {
        margin: 15px 0;
        font-size: 0.9375rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h6:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h6:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content p {
        margin: var(--indent-margin, 0);
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6;
        color: #000000; }
        .notification-container .read-more .read-more-content p img[style*="float:left"], .notification-container .read-more .read-more-content p img[style*="float: left"], .notification-container .read-more .read-more-content p[style*="float:left"] > img {
          margin: .2em .2em .2em 0; }
        .notification-container .read-more .read-more-content p img[style*="float:right"], .notification-container .read-more .read-more-content p img[style*="float: right"], .notification-container .read-more .read-more-content p[style*="float:right"] > img {
          margin: .2em 0 .2em .2em; }
        .notification-container .read-more .read-more-content p img {
          margin: .2em 0; }
        .notification-container .read-more .read-more-content p + p {
          margin-top: 0;
          margin-bottom: 0; }
      .notification-container .read-more .read-more-content ul, .notification-container .read-more .read-more-content ol {
        text-align: left; }
      .notification-container .read-more .read-more-content ul {
        margin: 10px;
        padding: 0;
        line-height: 1.6;
        list-style: none;
        line-height: 25px; }
        .notification-container .read-more .read-more-content ul ul {
          padding-top: 0;
          padding-bottom: 0;
          padding-left: 25px; }
        .notification-container .read-more .read-more-content ul li {
          position: relative;
          padding: 0 0 0 15px; }
          .notification-container .read-more .read-more-content ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 10px;
            left: 0;
            margin: auto;
            display: block;
            background-color: #3e475b;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content ol ol {
          margin: 0;
          padding-top: 0;
          padding-bottom: 0;
          list-style-type: lower-alpha; }
          .notification-container .read-more .read-more-content ol ol ol {
            list-style-type: lower-roman; }
            .notification-container .read-more .read-more-content ol ol ol ol {
              list-style-type: lower-alpha; }
              .notification-container .read-more .read-more-content ol ol ol ol ol {
                list-style-type: lower-roman; }
      .notification-container .read-more .read-more-content li {
        color: #000000;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h2, .notification-container .read-more .read-more-content ol + h2 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h3, .notification-container .read-more .read-more-content ol + h3 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 15px; }
      .notification-container .read-more .read-more-content dl {
        text-align: left; }
      .notification-container .read-more .read-more-content p:not(:empty) + table, .notification-container .read-more .read-more-content p:not(:empty) + .comparison-table-container {
        margin: 15px 0; }
      .notification-container .read-more .read-more-content table {
        --thead-border-colour: $thead-border-colour;
        max-width: 100%;
        margin-bottom: 0; }
        .notification-container .read-more .read-more-content table:not([class*=preset]) thead {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead tr {
            border-bottom: 1px solid var(--thead-border-colour); }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead th {
            font-weight: 700; }
        .notification-container .read-more .read-more-content table.responsive-table {
          display: block; }
          @media screen and (min-width: 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: #20ace9;
      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: #3e475b;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #878787; }
  .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: #3e475b; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #3e475b;
  -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: #20ace9;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container.countdown-inactive {
  max-height: 0;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }

.countdown-container.countdown-active {
  max-height: 1000px;
  -webkit-transition: max-height 5s;
  transition: max-height 5s; }

/*

----- PWA ( Progressive Web Application ) ----- 
- Installation prompt.

*/
/*
----- Payment Methods -----
Handles the following: 
- How payment methods such of opayo iframe looks in the checkout.
*/
.payment-container {
  margin: 0 0 20px; }
  .payment-container:not(:has(> .payment-method)) {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid var(--neutral-colour-lightness-8);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container:not(:has(> .payment-method)):hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-color: #6d6d6d;
      -webkit-transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, 0.6s;
      transition: box-shadow 0.6s, 0.6s, -webkit-box-shadow 0.6s; }
    @media screen and (min-width: 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: #3e475b; }

.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 20px;
    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 20px;
        padding: 0 0 30px; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #3e475b;
      font-size: 1.0625rem;
      font-weight: 700;
      text-transform: none;
      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: #3e475b;
    border-width: 2px;
    border-style: solid;
    border-color: #3e475b;
    border-radius: 25px;
    -webkit-transition: border-color 0.8s , opacity 0.8s;
    transition: border-color 0.8s , opacity 0.8s; }
    .social-icons a:before {
      font-size: 18px;
      font-family: "Font Awesome Brands";
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .social-icons a:hover {
      background-color: #20ace9;
      border-color: #20ace9;
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s , opacity 0.6s;
      transition: background-color 0.6s, color 0.6s , opacity 0.6s; }
      .social-icons a:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #3e475b;
      border-color: #3e475b; }
      .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 #3e475b;
        z-index: 1000; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle.active + .social-icons-share-toggle {
          margin-left: 0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 10px; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container:before {
          content: '';
          width: 1px;
          height: 80%;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: #dadada; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #000000;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:hover:before {
          color: #3e475b;
          -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: #20ace9;
          -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: #3e475b;
    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: #20ace9;
    -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: #3e475b; }

/*
----- 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: #3e475b;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #5b79d7), color-stop(65%, #465995));
  background: linear-gradient(0deg, #5b79d7 5%, #465995 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: #3e475b;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #5b79d7), color-stop(65%, #465995));
  background: linear-gradient(0deg, #5b79d7 5%, #465995 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: #fff200; }
  .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: #fff200;
        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: 0.9375rem;
        font-weight: 800;
        color: #3e475b;
        border-color: #c8c8c8;
        background-color: #fff200; }
    .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: #fff200; }
    @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: #fff200;
  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: 7.5px 15px; }
        .top-bar .top-bar-left > ul li:first-child, .top-bar .top-bar-right > ul li:first-child {
          padding-right: 15px !important; }
        .top-bar .top-bar-left > ul li:last-child, .top-bar .top-bar-right > ul li:last-child {
          padding-left: 15px !important; }
  .top-bar .top-bar-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  @media screen and (min-width: 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: #ffffff; }
      .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: #20ace9; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: rgba(255, 255, 255, 0.5);
        font-family: "Exo 2", "Exo 2 Fallback", "Arial";
        font-size: 0.9375rem;
        font-weight: 300;
        text-decoration: none;
        text-transform: none;
        padding: 7.5px 15px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        .top-bar .menu li a:hover, .top-bar .dropdown.menu li a:hover {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .top-bar .menu li.site-setting-menu > a:before, .top-bar .dropdown.menu li.site-setting-menu > a:before {
        color: rgba(255, 255, 255, 0.5); }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: rgba(255, 255, 255, 0.5); }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #ffffff; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #3e475b;
  border-width: 0 0 1px;
  border-color: #72798a;
  border-style: solid;
  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: #3e475b; }
  .colour-block .colour4-1 {
    background-color: #72798a; }
  .colour-block .colour4-2 {
    background-color: #2b69c6; }
  .colour-block .colour4-3 {
    background-color: #878787; }
  .colour-block .colour4-4 {
    background-color: #bfbfbf; }
  .colour-block .colour4-5 {
    background-color: #7a7a7a; }
  .colour-block .colour4-6 {
    background-color: #ededed; }
  .colour-block .colour4-7 {
    background-color: #2a2f60; }
  .colour-block .colour6 {
    background-color: #20ace9; }
  .colour-block .colour6-1 {
    background-color: #1c96af; }
  .colour-block .colour6-2 {
    background-color: #3c7cec; }
  .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: #fff200; }
  .colour-block .accent-colour-3-lightness-1 {
    background-color: #fff31a; }
  .colour-block .accent-colour-3-lightness-2 {
    background-color: #fff533; }
  .colour-block .accent-colour-3-lightness-3 {
    background-color: #fff64d; }
  .colour-block .accent-colour-3-lightness-4 {
    background-color: #fff766; }
  .colour-block .accent-colour-3-lightness-5 {
    background-color: #fff980; }
  .colour-block .accent-colour-3-lightness-6 {
    background-color: #fffa99; }
  .colour-block .accent-colour-3-lightness-7 {
    background-color: #fffbb3; }
  .colour-block .accent-colour-3-lightness-8 {
    background-color: #fffccc; }
  .colour-block .accent-colour-3-lightness-9 {
    background-color: #fffee6; }
  .colour-block .accent-colour-3-lightness-10 {
    background-color: #fffef2; }
  .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: #2b69c6; }
  .colour-block .saving-colour {
    background-color: #3e475b; }
  .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: #3e475b;
          -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: #3e475b;
        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: #20ace9;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .vmadmin-editor + div {
    z-index: 1; }

.property-editor-trigger:before {
  content: '\f013'; }

.content-editor-trigger:before {
  content: '\f044'; }

.editor-save-button.inline:before {
  content: '\f0c7'; }

.editor-cancel-button.inline:before {
  content: '\f00d'; }

.off-canvas-header .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .off-canvas-header .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:hover:before {
    color: #3e475b;
    -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: #20ace9;
    -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: #3e475b; }
  @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: 1rem; }

/*
----- Accordion Tabs ------ 
- TODO: The naming conventions need to be re-writen at some point as this was originally build for on being used on the product page hense the very specific naming of id's and classes.
- This functionality is based on Foundation's Responsive Accordion Tabs https://get.foundation/sites/docs/responsive-accordion-tabs.html
- The styling for product tabbed notes is defined here
  - Attachments
  - Specification's
  - Reviews
  - Componants.

*/
.responsive-tabs-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0; }
  @media screen and (min-width: 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: #3e475b; }
    .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 #3e475b;
      background-color: #ffffff;
      color: #3e475b;
      font-family: "Font Awesome Solid";
      font-size: 8px; }
    .responsive-tabs-header .accordion-toggle-all-button.active:after {
      content: ""; }

#tabbed-notes-container {
  visibility: hidden; }
  #tabbed-notes-container.component-ready {
    visibility: visible; }

.responsive-tabs {
  width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .responsive-tabs.component-ready {
    visibility: visible; }
  .responsive-tabs:has(.tabs.vertical) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  @media screen and (min-width: 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: #ededed;
        border-color: #3e475b;
        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: #3e475b; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #20ace9;
        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: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6;
  background-color: transparent; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2, #tabbed-notes-container .accordion-content .tabbed-specification-container h2, #tabbed-notes-container .accordion-content .tabbed-notes-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3, #tabbed-notes-container .accordion-content .tabbed-specification-container h3, #tabbed-notes-container .accordion-content .tabbed-notes-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #20ace9;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4, #tabbed-notes-container .accordion-content .tabbed-specification-container h4, #tabbed-notes-container .accordion-content .tabbed-notes-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #3e475b;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5, #tabbed-notes-container .accordion-content .tabbed-specification-container h5, #tabbed-notes-container .accordion-content .tabbed-notes-container h5 {
  margin: 15px 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6, #tabbed-notes-container .accordion-content .tabbed-specification-container h6, #tabbed-notes-container .accordion-content .tabbed-notes-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p, #tabbed-notes-container .accordion-content .tabbed-specification-container p, #tabbed-notes-container .accordion-content .tabbed-notes-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  color: #000000; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img {
    margin: .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p + p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p + p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p + p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p + p, #tabbed-notes-container .accordion-content .tabbed-specification-container p + p, #tabbed-notes-container .accordion-content .tabbed-notes-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  text-align: left; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul {
  margin: 10px;
  padding: 0;
  list-style: none;
  line-height: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li:before, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #3e475b;
      border-radius: 5px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  margin: 10px;
  padding: 0 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol {
      list-style-type: lower-roman; }
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol {
        list-style-type: lower-alpha; }
        #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol ol {
          list-style-type: lower-roman; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry li, #tabbed-notes-container .tabs-panel .tabbed-specification-container li, #tabbed-notes-container .tabs-panel .tabbed-notes-container li, #tabbed-notes-container .accordion-content .tabbed-cms-entry li, #tabbed-notes-container .accordion-content .tabbed-specification-container li, #tabbed-notes-container .accordion-content .tabbed-notes-container li {
  color: #000000;
  font-size: 0.9375rem; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h1, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h1 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h2, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h2 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h3, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h3 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h4, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h4 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h5, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h5 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h6, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h6 {
  margin-top: 15px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry dl, #tabbed-notes-container .tabs-panel .tabbed-specification-container dl, #tabbed-notes-container .tabs-panel .tabbed-notes-container dl, #tabbed-notes-container .accordion-content .tabbed-cms-entry dl, #tabbed-notes-container .accordion-content .tabbed-specification-container dl, #tabbed-notes-container .accordion-content .tabbed-notes-container dl {
  text-align: left; }

#tabbed-notes-container .tabs-panel p:not(:empty) + table, #tabbed-notes-container .tabs-panel p:not(:empty) + .comparison-table-container, #tabbed-notes-container .accordion-content p:not(:empty) + table, #tabbed-notes-container .accordion-content p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

#tabbed-notes-container .tabs-panel table, #tabbed-notes-container .accordion-content table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead tr, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead th, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead th {
      font-weight: 700; }
  #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
    display: block; }
    @media screen and (min-width: 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: 20px;
      font-family: "Font Awesome Solid"; }
    .tabs .tabs-title a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-weight: 700;
      text-decoration: none;
      text-transform: none; }
      .tabs .tabs-title a:hover {
        color: var(--secondary-colour-lightness-0); }
      .tabs .tabs-title a:active {
        color: var(--primary-colour-lightness-0); }

.accordion {
  margin: 0;
  padding: 10px 0; }
  @media screen and (min-width: 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: #2b69c6;
    -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: #2b69c6;
      -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: #878787; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #3e475b; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #3e475b; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #3e475b; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #878787; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #3e475b; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #3e475b; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #3e475b; }
  .accordion .accordion-title-container {
    cursor: pointer; }
  .accordion .accordion-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: #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: 20px;
      font-family: "Font Awesome Solid";
      color: #959595; }
    .accordion .accordion-title .title-icon {
      width: 175px;
      height: 30px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      background-repeat: no-repeat;
      background-position: center; }
    .accordion .accordion-title .found-count {
      margin-right: 10px;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
  .accordion a.accordion-title:hover {
    color: #3e475b; }
  .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: 0.9375rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #20ace9;
    -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: #2a2f60;
    margin: 0 15px 0 0;
    font-size: 26px; }

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

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

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(62, 71, 91, 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: #1c96af; }

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

.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(62, 71, 91, 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: #20ace9; }

/*
----- 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: #20ace9;
      -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: #3e475b; } }
    .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: #20ace9; } }
    .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: #3e475b; } }
    .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: #3e475b;
      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: 0.9375rem; }
      @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: 0.9375rem;
        font-weight: 400;
        color: var(--neutral-colour-lightness-0);
        border-radius: 0;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 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: 0.9375rem;
      font-weight: 400;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, color 0.8s;
      transition: background-color 0.8s, color 0.8s; }
      .AXISResultsContainer .items-per-list-container a:hover, .list-sort-container .items-per-list-container a:hover {
        color: var(--white-colour);
        background-color: var(--primary-colour-lightness-0);
        -webkit-transition: background-color 0.6s, color 0.6s;
        transition: background-color 0.6s, color 0.6s; }
      .AXISResultsContainer .items-per-list-container a:active, .list-sort-container .items-per-list-container a:active {
        background-color: var(--neutral-colour-lightness-8);
        color: var(--neutral-colour-lightness-0); }
      .AXISResultsContainer .items-per-list-container a.active, .list-sort-container .items-per-list-container a.active {
        background-color: var(--primary-colour-lightness-10);
        color: var(--primary-colour-lightness-0);
        cursor: not-allowed; }
    @media screen and (min-width: 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: 0.9375rem; }

.paginationLabel, .pagination-label {
  margin-right: 13px;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-colour-lightness-0); }

/**

---- Manage Calls ---- 

- Formally know as the call portal before it got embedded in express, manage calls is account functionality that displays calls in a list in express.
- Styles included here: 
  - List for call list + events list.
  - Enquiry summary.
  - Call rating fonts.
  - Sticky buttons icons.
**/
.enquiry-header-section {
  padding: 20px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 0; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #3e475b;
    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: #2b69c6; }
  .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: #2b69c6; }
  .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 #3e475b;
    font-size: 17px;
    font-family: "Font Awesome Solid";
    line-height: 1;
    text-align: center;
    background: #ededed;
    color: #3e475b;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .back-top-button:before {
        font-size: 22px; } }
  .back-top-button:hover, .back-top-button:hover.active {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
    .back-top-button:hover:before, .back-top-button:hover.active:before {
      background: #3e475b;
      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: #3e475b;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #20ace9;
    color: #ffffff;
    border-color: #20ace9;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-top-button.active {
    opacity: .7; }

/*
----- Sections ----- 
Axis toggler is build on top of Foundation's Toggler https://get.foundation/sites/docs/toggler.html and is similar to https://get.foundation/sites/docs/accordion.html but sometimes it is not possible convenient to build the section(s) in <ul> or in desktop you require the layout to be completely different to mobile.
*/
.axis-section {
  margin: 0; }
  .axis-section.active .axis-section-header:after {
    content: ""; }
  .axis-section.active .axis-section-content {
    max-height: 80vh;
    margin: 20px 0 0;
    overflow-y: auto;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .axis-section.active .axis-section-buttons {
    display: block; }
  .axis-section.reveal-enabled:not(.active) {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    .axis-section.reveal-enabled:not(.active) .axis-section-header {
      margin-bottom: 0;
      padding-bottom: 0;
      -webkit-transition: margin-bottom 0.6s, padding-bottom 0.6s;
      transition: margin-bottom 0.6s, padding-bottom 0.6s; }
  .axis-section.disabled {
    background-color: var(--neutral-colour-lightness-7);
    opacity: .6;
    cursor: not-allowed; }
    .axis-section.disabled .axis-section-header {
      cursor: not-allowed; }
      .axis-section.disabled .axis-section-header:after {
        color: #6d6d6d; }

.axis-section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  cursor: pointer; }
  .axis-section-header:after {
    content: "";
    margin-left: auto;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #3e475b;
    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: 0.875rem; }
  .axis-section-content .cms-content-container {
    margin-bottom: 20px; }

.axis-section-buttons {
  display: none; }

/*

----- Ellipsis ----- 
When the content is too longer to fix within a table cell ( for example ) allow the user to show overflowing text by hovering.

IMPORTANT: This only works with single lines of text, multi-line you will need to look into --webkit-line-clamp.
*/
.ellipsis-text-container {
  position: relative; }

.ellipsis-text {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  @media screen and (min-width: 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: #3e475b;
      -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: #3e475b;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #3e475b; }
    .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 #3e475b; }
    .modules-info-container .content ul {
      list-style: none; }
      .modules-info-container .content ul li {
        font-size: 0.9375rem; }
    .modules-info-container .content > ul > li {
      margin: 5px 0;
      padding: 5px;
      border: 2px solid #eeeeee; }
    .modules-info-container .content ul {
      margin: 0;
      padding: 0; }
      .modules-info-container .content ul ul ul {
        margin-left: 10px; }
    .modules-info-container .content h4, .modules-info-container .content h5, .modules-info-container .content h6 {
      padding: 0;
      font-size: 0.9375rem;
      font-weight: 600; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      margin: 10px 0; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      color: #484848; }
    .modules-info-container .content h6 {
      margin: 5px 0;
      color: #3e475b; }
    .modules-info-container .content strong {
      color: #3e475b;
      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: #72798a; }
  .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: #3e475b;
  background-color: #edeeef;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .website-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 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: #3e475b;
      border-color: #72798a;
      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: #20ace9;
    border-color: #20ace9;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .website-button:disabled, .website-button.disabled, .website-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: #6d6d6d; }
  .website-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .website-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.interactive-map-location-button {
  margin-left: auto;
  padding: 0 5px; }
  .interactive-map-location-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #878787;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #20ace9;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #3e475b; }

.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: #3e475b;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #3e475b; }
  .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: #ededed; }
    .tree-menu.assets > ul > li > label {
      background-color: #2b69c6; }

.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: #3e475b; }
    .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: #3e475b; }
  .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 #3e475b;
    background-color: #ffffff;
    color: #3e475b;
    font-family: "Font Awesome Solid";
    font-size: 8px; }
  .tree-menu-expand-toggle.active:after {
    content: ""; }

/*
----- Reviews ----- 
- Handles interfacing with third-party review api's like feefo.
*/
.rating-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .rating-container .review-stars {
    margin: 0 10px 0; }
    .rating-container .review-stars li:not(:last-child) {
      margin-right: 5px; }
  .rating-container .star-full, .rating-container [class*=rating-icon] {
    position: relative;
    padding-left: 0; }
    .rating-container .star-full:before, .rating-container [class*=rating-icon]:before {
      content: "";
      font-family: "Font Awesome Solid";
      color: #fff200; }

@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: #fff200; }
  .star-ratings-container .rating-summary-display {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: #3e475b;
    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: #fff200;
      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: #fff200; }

.breakdown-count-container {
  width: 30px; }

.tooltip-content-container .breakdown-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0 0; }
  .tooltip-content-container .breakdown-button-container a {
    color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #20ace9; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #3e475b; }

/*
----- 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: #20ace9;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #20ace9;
  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: #20ace9;
      border-color: #20ace9;
      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: #3e475b;
    border-color: #3e475b;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .barcode-scanner-toggle-button:active:after, .barcode-scanner-toggle-button.active:after {
      color: #ffffff; }
  .barcode-scanner-toggle-button:disabled, .barcode-scanner-toggle-button.disabled, .barcode-scanner-toggle-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .barcode-scanner-toggle-button:disabled:after, .barcode-scanner-toggle-button.disabled:after, .barcode-scanner-toggle-button[disabled]:after {
      color: #6d6d6d; }
  .barcode-scanner-toggle-button:disabled:hover, .barcode-scanner-toggle-button.disabled:hover {
    border-color: #6d6d6d; }
  .barcode-scanner-toggle-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .barcode-scanner-toggle-button:after {
    content: "";
    margin: 0 0 0 15px;
    font-family: "fontello";
    font-size: 20px;
    font-weight: 400;
    color: #ffffff;
    -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: #3e475b;
    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: #3e475b; }
  .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: #3e475b;
    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: #20ace9;
      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: #3e475b;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #20ace9;
      -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: #2b69c6;
  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: #c8c8c8; }

.multi-field-lookup.quick-order .control.search .input-prefix-icon {
  padding-right: 10px;
  padding-left: 10px; }
  .multi-field-lookup.quick-order .control.search .input-prefix-icon:before {
    content: "+";
    font-size: 22px;
    font-family: "Font Awesome Solid"; }

.input-prefix-icon:before {
  color: #3e475b; }

.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, #3e475b); }

.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, #20ace9);
      -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, #3e475b);
      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, #3e475b);
      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: #72798a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #20ace9; }
    .documentation-additional-links .attachment:hover:before {
      color: #20ace9;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #3e475b; }
    .documentation-additional-links .attachment:active:before {
      color: #3e475b; }
  .documentation-additional-links .attachment.printer-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-public-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-statistics:before {
    content: "";
    font-family: "Font Awesome Solid"; }

.documentation-chapter-header-container h1, .documentation-acticle-header-container h1, .documentation-content-container h1, .documentation-content-header-container h1 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  color: #3e475b;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }
  .documentation-chapter-header-container h1 + .documentation-additional-links, .documentation-acticle-header-container h1 + .documentation-additional-links, .documentation-content-container h1 + .documentation-additional-links, .documentation-content-header-container h1 + .documentation-additional-links {
    padding: 0;
    border: 0; }

.documentation-chapter-header-container h2, .documentation-acticle-header-container h2, .documentation-content-container h2, .documentation-content-header-container h2 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  color: #3e475b;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
  margin: 25px 0 10px;
  padding: 10px 0;
  color: #3e475b;
  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: 25px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h5, .documentation-acticle-header-container h5, .documentation-content-container h5, .documentation-content-header-container h5 {
  margin: 15px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h6, .documentation-acticle-header-container h6, .documentation-content-container h6, .documentation-content-header-container h6 {
  margin: 15px 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic; }

.documentation-article-container, .documentation-list-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 35px; }
  .documentation-article-container.indented, .documentation-list-item-container.indented {
    margin-left: 25px; }
  .documentation-article-container.indented-rule, .documentation-list-item-container.indented-rule {
    position: relative;
    margin-bottom: 50px;
    padding-left: 15px; }
    .documentation-article-container.indented-rule:before, .documentation-list-item-container.indented-rule:before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #aeaeae; }

.documentation-chapter-header-container, .documentation-header-container {
  margin-bottom: 35px; }
  .documentation-chapter-header-container .documentation-additional-links, .documentation-header-container .documentation-additional-links {
    padding-top: 25px;
    border-top: 1px solid #959595; }

.documentation-chapter-footer-container, .documentation-footer-container {
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 1px solid #959595; }

.documentation-acticle-header-container, .documentation-content-header-container {
  position: relative; }

.documentation-content-container a[href^="tel:"], .documentation-content-container a[href^="mailto:"] {
  font-weight: 700; }
  .documentation-content-container a[href^="tel:"]:hover, .documentation-content-container a[href^="mailto:"]:hover {
    text-decoration: none; }
  .documentation-content-container a[href^="tel:"].show-contact-icon:before, .documentation-content-container a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.documentation-content-container a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.documentation-content-container a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.documentation-content-container p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.documentation-content-container p a:has([style*="float"]) {
  display: inline; }

.documentation-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .documentation-content-container p img[style*="float:left"], .documentation-content-container p img[style*="float: left"], .documentation-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .documentation-content-container p img[style*="float:right"], .documentation-content-container p img[style*="float: right"], .documentation-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .documentation-content-container p img {
    margin: .2em 0; }
  .documentation-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.documentation-content-container p:not(:empty) + table, .documentation-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.documentation-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .documentation-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .documentation-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .documentation-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .documentation-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 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: #3e475b;
      -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: #3e475b; }
      .documentation-content-container code .code-copy-button.active:before, .documentation-content-container code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .documentation-content-container code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .documentation-content-container code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

.documentation-content-container ul, .documentation-content-container ol {
  text-align: left; }

.documentation-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .documentation-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .documentation-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .documentation-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #3e475b;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .documentation-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .documentation-content-container ol ol ol {
      list-style-type: lower-roman; }
      .documentation-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .documentation-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.documentation-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

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

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

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

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

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

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

.documentation-content-container dl {
  text-align: left; }

.documentation-content-container figure {
  max-width: 100%;
  margin: 10px auto; }
  .documentation-content-container figure.image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    margin: 10px auto; }
  .documentation-content-container figure.image-style-align-right {
    float: right;
    margin-left: 10px; }
  .documentation-content-container figure.image-style-align-left {
    float: left;
    margin-right: 10px; }
  .documentation-content-container figure.image-style-block-align-left {
    margin-right: auto;
    margin-left: 0; }
  .documentation-content-container figure.image-style-block-align-right {
    margin-right: 0;
    margin-left: auto; }
  .documentation-content-container figure[class*="image-style-block"] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure figcaption {
    width: 100%;
    padding: 5px;
    background-color: var(--neutral-colour-lightness-10);
    color: #000000;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 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, #20ace9);
      -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, #20ace9); }
    .menu.functions-list li > a {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-right: 0;
      padding: 5px 5px 5px 0;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      .menu.functions-list li > a + button {
        height: auto;
        position: relative;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        .menu.functions-list li > a + button:after {
          color: #484848;
          font-size: 12px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu.functions-list li > a + button[aria-expanded="true"]:after {
          color: var(--menu-function-list-hover-colour, #20ace9);
          -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: #959595;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
    .documentation-results-found-list ul .results-items-container ul li a {
      font-weight: 600; }

.documentation-results-found-list ul .results-snippet-container {
  font-size: 0.875rem; }
  .documentation-results-found-list ul .results-snippet-container p {
    margin: 5px 0 10px;
    padding: 0; }

.documentation-back-button-container .documentation-back-button {
  margin: 0; }

.statistics-content-container {
  background-color: #f3f3f3; }
  .statistics-content-container ul {
    padding: 10px 20px; }
    .statistics-content-container ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      font-size: 0.9375rem;
      font-weight: 600; }
  .statistics-content-container .label {
    padding-right: 5px; }

.revision-count-container.seperator span {
  margin: 0 0 10px;
  padding: 0 0 5px;
  position: relative; }
  .revision-count-container.seperator span:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #000000; }
    @media print {
      .revision-count-container.seperator span:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }

.revision-count-container span {
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 700; }

.revision-information-container {
  background-color: var(--neutral-colour-lightness-8); }
  .revision-information-container table.audit-trail-entry thead th {
    border-color: var(--white-colour); }

.technical-documentation-list-container:not(:last-child):after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid var(--neutral-colour-lightness-8); }

.documentation-demo-link-container {
  margin: 10px 0;
  padding: 10px;
  background-color: var(--neutral-colour-lightness-10); }

.inspect-prompt {
  display: block;
  margin: 30px 0;
  font-weight: 600; }

.express-configuration {
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: var(--neutral-colour-lightness-9); }
  @media screen and (min-width: 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: #20ace9;
        border-color: #20ace9;
        -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: #20ace9; }
    .context-menu-container .menu-option-container.edit-text .menu-option-icon:before {
      content: "";
      font-size: 16px; }
    .context-menu-container .menu-option-container.edit-properties .menu-option-icon:before {
      content: "";
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.move-up .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.move-down .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.insert-before .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.insert-after .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.promote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.demote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.delete .menu-option-icon:before {
      content: "";
      font-size: 17px; }
    .context-menu-container .menu-option-container.move-article .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.audit-trail .menu-option-icon:before {
      content: ""; }

/*
----- Graduated Colour Edge ------ 
Edge effect where the is typically 3 tones of a specific colour in the corner of a element / component.
Possible class configuration options:
- Opacity enumeration ( High, Medium, Low )
- Position Top + Bottom L & R corners

For a demonstration go to /static/graduated-colour-edge-test.html
*/
.graduated-colour-edge {
  --graduated-step-height: var(--component-specifc-step-height, 60px);
  width: 600px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .graduated-colour-edge.position-1 {
    top: 0;
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.position-2 {
    top: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-3 {
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-4 {
    bottom: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.opacity-1 .step {
    opacity: .9; }
    .graduated-colour-edge.opacity-1 .step + .step {
      opacity: .6; }
      .graduated-colour-edge.opacity-1 .step + .step + .step {
        opacity: .3; }
  .graduated-colour-edge.opacity-2 .step {
    opacity: .6; }
    .graduated-colour-edge.opacity-2 .step + .step {
      opacity: .3; }
      .graduated-colour-edge.opacity-2 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge.opacity-3 .step {
    opacity: .3; }
    .graduated-colour-edge.opacity-3 .step + .step {
      opacity: .2; }
      .graduated-colour-edge.opacity-3 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge .step {
    width: 600px;
    height: var(--graduated-step-height);
    display: block;
    background-color: var(--primary-colour-lightness-0); }

/*
----- Axis Rich Text Editors ----- 
Bespoke rules that get applied when intergrating with third-party editors.

General rules that get applied to .rich-text-editor-container which is the common container that gets used across all editors.
*/
.ck-body-wrapper {
  z-index: 2021; }
  .ck-body-wrapper.disabled {
    display: none; }

.ck-editor .ck-content ul {
  list-style-type: none; }

.rich-text-editor-container {
  --ck-color-base-border: #dadada;
  --ck-color-base-error: #b20c0c;
  --ck-image-style-spacing: 10px;
  position: relative;
  --ck-color-image-caption-text: #000000; }

[data-axis-rich-text-editor] {
  min-height: 100px; }
  [data-axis-rich-text-editor]:not(.rich-text-editor-container) {
    border: 1px solid #dadada; }
  [data-axis-rich-text-editor] > textarea {
    display: none; }

.ck-source-editing-area textarea {
  overflow: auto !important; }

.axis-editor-indent-level-1 {
  --indent-margin: 0 0 0 calc(1 * 25px); }
  .axis-editor-indent-level-1 + ul, .axis-editor-indent-level-1 + ol {
    margin-left: calc(1 * 25px); }

.axis-editor-indent-level-2 {
  --indent-margin: 0 0 0 calc(2 * 25px); }
  .axis-editor-indent-level-2 + ul, .axis-editor-indent-level-2 + ol {
    margin-left: calc(2 * 25px); }

.axis-editor-indent-level-3 {
  --indent-margin: 0 0 0 calc(3 * 25px); }
  .axis-editor-indent-level-3 + ul, .axis-editor-indent-level-3 + ol {
    margin-left: calc(3 * 25px); }

.axis-editor-indent-level-4 {
  --indent-margin: 0 0 0 calc(4 * 25px); }
  .axis-editor-indent-level-4 + ul, .axis-editor-indent-level-4 + ol {
    margin-left: calc(4 * 25px); }

.axis-editor-indent-level-5 {
  --indent-margin: 0 0 0 calc(5 * 25px); }
  .axis-editor-indent-level-5 + ul, .axis-editor-indent-level-5 + ol {
    margin-left: calc(5 * 25px); }

/*

----- Video Player ----

IMPORTANT: This is specifically for embedding Youtube videos / Banner series. /static/video-series.html

Handles:
- Thumbnail play icon.
- Duration formatting.
- Video indicator text ( click here to watch video )

*/
.video-player-container {
  cursor: pointer; }
  .video-player-container:hover .image:after {
    color: var(--white-colour);
    background-color: var(--accent-colour-1-lightness-3);
    border-color: var(--white-colour);
    -webkit-transition: color 0.6s, background-color 0.6s, border-color 0.6s;
    transition: color 0.6s, background-color 0.6s, border-color 0.6s; }
  .video-player-container .image {
    position: relative; }
    .video-player-container .image:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
  .video-player-container .duration-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: var(--neutral-colour-lightness-0); }
    .video-player-container .duration-container:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-family: "Font Awesome Solid";
      font-size: 16px; }
    .video-player-container .duration-container .label, .video-player-container .duration-container .value {
      font-size: 0.9375rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 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: "Exo 2", "Exo 2 Fallback", "Arial";
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #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.6;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #dadada;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28149, 149, 149%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  select:disabled {
    background-color: #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: #20ace9;
  -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: #3e475b; }
    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.8125rem;
    color: #3e475b;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "";
      color: #959595; }
  .breadcrumbs a {
    color: #959595; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #3e475b;
    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: #3e475b;
    color: #ffffff; }
  .callout.secondary {
    background-color: #eeeeee;
    color: #000000; }
  .callout.success {
    background-color: #12811f;
    color: #ffffff; }
  .callout.warning {
    background-color: #ff5e05;
    color: #000000; }
  .callout.alert {
    background-color: #b20c0c;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #aeaeae;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #dadada;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: var(--primary-colour-lightness-0); }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #dadada;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ffffff; }

.accordion-content {
  display: none;
  padding: 0;
  border: 1px solid #dadada;
  border-bottom: 0;
  background-color: transparent;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #dadada; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: none;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #3e475b; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #454f66; }

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

.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: #3e475b;
      -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: #3e475b;
      -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: #20ace9;
      -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: #3e475b;
    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: #3e475b;
      font-size: 1.25rem;
      font-weight: 600; }
  .menu .close-button, .dropdown.menu .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .menu .close-button:before, .dropdown.menu .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu .close-button:hover:before, .dropdown.menu .close-button:hover:before {
      color: #3e475b;
      -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: #20ace9;
      -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: #3e475b; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #484848;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu > li:active > a:after, .dropdown.menu.accordion-menu > li:active > a:after {
    color: #ffffff;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
    content: ""; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after {
      content: "";
      width: 10px;
      height: 10px;
      margin-right: 10px;
      margin-left: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      text-align: center;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before {
    content: ""; }
  @media print, screen and (max-width: 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: 12px;
      margin: auto 0;
      padding: 0 10px 0 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      line-height: 12px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 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: 12px;
    font-family: "Font Awesome Solid";
    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, #72798a); }
    .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, #3e475b); }
    .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, #3e475b); }
    .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, #72798a); }
      .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, #3e475b); }
  .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, #72798a); }
    .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, #3e475b); }
  .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, #72798a); }
    .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, #3e475b); }
      .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, #3e475b); }
  .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, #72798a); }
    .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, #3e475b); }
      .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, #3e475b); }
  .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.6; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #3e475b; }
      .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.6; }
      @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, #3e475b); }
      .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: "Font Awesome Solid";
        font-size: 12px; }
  .menu.dropdown li > a, .dropdown.menu.dropdown li > a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.dropdown > li.is-dropdown-submenu-parent, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent {
    border-radius: 0 0 0 0; }
  .menu.dropdown > li:not(.is-dropdown-submenu-parent), .dropdown.menu.dropdown > li:not(.is-dropdown-submenu-parent) {
    border-radius: 0; }
  .menu.on-page-menu, .dropdown.menu.on-page-menu {
    margin: auto;
    padding: 10px;
    border: 1px solid #eeeeee;
    border-radius: 0; }
    .menu.on-page-menu > li, .dropdown.menu.on-page-menu > li {
      position: initial;
      border: 0;
      border-radius: 0; }
      .menu.on-page-menu > li:hover, .dropdown.menu.on-page-menu > li:hover {
        color: #3e475b;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #3e475b; }
      .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: #ffffff;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .menu .home-button:hover a:before, .dropdown.menu .home-button:hover a:before {
        background-color: transparent;
        color: #484848;
        -webkit-transition: color 0.8s, background-color 0.8s;
        transition: color 0.8s, background-color 0.8s; }
    .menu .home-button:active, .dropdown.menu .home-button:active {
      background-color: #3e475b; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #ffffff; }
    .menu .home-button a, .dropdown.menu .home-button a {
      width: 100%;
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .menu .home-button a:before, .dropdown.menu .home-button a:before {
        content: "";
        padding: 0;
        font-family: "Font Awesome Solid";
        font-size: 14px;
        color: #ffffff;
        background-color: transparent;
        border-radius: 0;
        -webkit-transition: color 0.6s, padding 0.8s;
        transition: color 0.6s, padding 0.8s; }
  .menu .account-menu, .dropdown.menu .account-menu {
    width: 100%;
    right: 0 !important;
    left: auto !important;
    padding: 10px 0; }
    @media screen and (min-width: 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: #3e475b;
          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: #3e475b;
          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: "Font Awesome Solid";
          font-size: 12px;
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu .site-setting-menu .selected-option:hover:before, .dropdown.menu .site-setting-menu .selected-option:hover:before {
          color: #959595; } }
      .menu .site-setting-menu .selected-option:active, .dropdown.menu .site-setting-menu .selected-option:active {
        background-color: transparent; }
      .menu .site-setting-menu .selected-option .currency-icon, .dropdown.menu .site-setting-menu .selected-option .currency-icon {
        position: relative;
        top: -1px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
          font-size: 12px; }
          @media screen and (min-width: 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: #20ace9; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #3e475b; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 7.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #3e475b; }
    @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: #3e475b; } }
    @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: rgba(255, 255, 255, 0.5);
  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;
  -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: #20ace9; }

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

ul.menu li a[href^="tel:"]:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 22px;
  font-size: 14px; }

.menu-scroll-container {
  overflow-y: auto;
  overflow-x: hidden; }

.submenu {
  height: auto;
  z-index: 400;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 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: #3e475b;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #3e475b; }
    .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: 12px;
        margin: auto 0;
        padding: 0 10px 0 0;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "Font Awesome Solid";
        font-size: 12px;
        line-height: 12px;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }
  @media screen and (min-width: 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: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .mega-menu-container ul.menu > li:hover > a, .header-menu-right-container ul.menu > li:hover > a {
      color: #484848;
      -webkit-transition: color 0.6s ;
      transition: color 0.6s ; }
  .mega-menu-container ul.menu > li:active, .header-menu-right-container ul.menu > li:active {
    background-color: #3e475b; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #ffffff; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    text-transform: none;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 15px 15px;
        font-size: 1rem;
        font-weight: 400;
        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: #3e475b; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #3e475b;
      font-size: 1.0625rem;
      font-weight: 700;
      line-height: 1.6;
      text-transform: none; }
      @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: #3e475b;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.6;
    text-transform: none; }
    @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: #20ace9; }
      .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: #3e475b; }
    .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: #20ace9; }

/*
----- 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: #3e475b;
  padding-bottom: 15px;
  position: relative; }
  #bespoke-search-results-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      #bespoke-search-results-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.search-results-suggestions {
  margin: 0 0 30px; }
  .search-results-suggestions ul {
    margin: auto;
    padding: 0;
    list-style: none; }
    .search-results-suggestions ul ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .search-results-suggestions ul ul li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 10px 0; }
        @media print, screen and (max-width: 39.99875em) {
          .search-results-suggestions ul ul li:nth-child(2n) {
            background-color: #f3f3f3; } }
        @media print, screen and (min-width: 40em) {
          .search-results-suggestions ul ul li {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 33.3%;
                    flex: 0 0 33.3%; }
            .search-results-suggestions ul ul li:nth-child(6n+3) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+2) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+1) {
              background-color: #f3f3f3; } }
  .search-results-suggestions a.suggestion {
    padding: 0 20px;
    color: #000000;
    font-size: 1rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #3e475b;
      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: #3e475b;
  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: #3e475b;
        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: 0.9375rem;
      font-weight: 600;
      font-family: "Exo 2", "Exo 2 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: "Exo 2", "Exo 2 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: 0.9375rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #484848;
          font-size: 0.9375rem;
          font-weight: 600;
          line-height: 1.3; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #3e475b;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #20ace9; }
        .contentContainer #productListItems.list .rowContainer .description-col .specification {
          font-size: 0.875rem;
          font-weight: 400;
          color: #000000; }
          .contentContainer #productListItems.list .rowContainer .description-col .specification p {
            margin: 0; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        font-size: 0.9375rem; }
        @media print, screen and (max-width: 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: 0.9375rem;
        font-weight: 600;
        color: #3e475b; }
        @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: 0.9375rem;
        line-height: 1.3; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #20ace9;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #000000;
        font-size: 0.9375rem; }
      @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.3; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container:has(.vat) {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label {
            color: #000000;
            font-weight: 700; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label:not(:empty) {
              margin-right: 5px; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
              width: 100%;
              padding: 0 0 0 5px;
              text-align: right; }
              @media print, screen and (min-width: 40em) {
                .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
                  width: -webkit-fit-content;
                  width: -moz-fit-content;
                  width: fit-content; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
            color: #2b69c6;
            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: "Exo 2", "Exo 2 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: #3e475b;
    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: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:hover:before {
      color: #3e475b;
      -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: #20ace9;
      -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: #3e475b;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #20ace9;
      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: #3e475b;
  --primary-colour-lightness-1: #4c5870;
  --primary-colour-lightness-2: #5b6885;
  --primary-colour-lightness-3: #6a799a;
  --primary-colour-lightness-4: #808ca8;
  --primary-colour-lightness-5: #959fb7;
  --primary-colour-lightness-6: #aab2c5;
  --primary-colour-lightness-7: #bfc6d4;
  --primary-colour-lightness-8: #d5d9e2;
  --primary-colour-lightness-9: #eaecf1;
  --primary-colour-lightness-10: #f4f5f8;
  --secondary-colour-lightness-0: #20ace9;
  --secondary-colour-lightness-1: #36b4eb;
  --secondary-colour-lightness-2: #4dbded;
  --secondary-colour-lightness-3: #63c5f0;
  --secondary-colour-lightness-4: #79cdf2;
  --secondary-colour-lightness-5: #90d6f4;
  --secondary-colour-lightness-6: #a6def6;
  --secondary-colour-lightness-7: #bce6f8;
  --secondary-colour-lightness-8: #d2eefb;
  --secondary-colour-lightness-9: #e9f7fd;
  --secondary-colour-lightness-10: #f4fbfe;
  --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: #fff200;
  --accent-colour-3-lightness-1: #fff31a;
  --accent-colour-3-lightness-2: #fff533;
  --accent-colour-3-lightness-3: #fff64d;
  --accent-colour-3-lightness-4: #fff766;
  --accent-colour-3-lightness-5: #fff980;
  --accent-colour-3-lightness-6: #fffa99;
  --accent-colour-3-lightness-7: #fffbb3;
  --accent-colour-3-lightness-8: #fffccc;
  --accent-colour-3-lightness-9: #fffee6;
  --accent-colour-3-lightness-10: #fffef2;
  --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: Exo 2, Exo 2 Fallback, Arial;
  --smooth-edges-enabled: false;
  --smooth-edges-level: 15px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.6;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 0; }

@font-face {
  font-family: "Exo 2 Fallback";
  src: local("Arial");
  size-adjust: 124.38%;
  ascent-override: 99.9%;
  descent-override: 20.1%;
  line-gap-override: 0%; }

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }

body.scrollLock {
  overflow-y: hidden; }

main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  main > div {
    width: 100%; }

.image img {
  max-height: 100%; }

@media screen and (min-width: 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 #3e475b; }

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

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #3e475b;
  font-weight: 600;
  font-style: italic;
  font-size: 0.9375rem;
  font-family: "Exo 2", "Exo 2 Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #20ace9; }
  .forgotten-password-link:active {
    color: #2b69c6; }

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: #3e475b;
      -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: #3e475b; }
      .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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm9wZGV4cHJlc3MvYXBwLmNzcyIsIm9wZGV4cHJlc3MvYXBwLnNjc3MiLCIuLi9nbG9iYWwvX2Z1bmN0aW9ucy5zY3NzIiwib3BkZXhwcmVzcy9icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9nbG9iYWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBSTBJRSxrS0FBWTtBQ3BLaEI7Ozs7RUxnQ0U7QUt4QkY7RUFDRSxpREFBOEQ7RUFDOUQsMERBQThDLEVBQUE7O0FBR2hEO0VBQ0Usb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJDOEI2QjtFRDdCN0Isb0hBQzhELEVBQUE7O0FBR2hFOztFQUVFLGdCQUFnQixFQUFBOztBQUloQjtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7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SUM3Qlosb0JEdUJVO0lDdEJWLGtCR3RCd0Q7SUh1QnhELGdCUGdHUztJTzlGVCxvQkRtQ1k7SUNqQ1IsZ0JSOUZTO0lRaUdULGdCREplLEVBQUE7RUNuQjNCO0lBMkJRLFNEQVE7SUNDUixjUC9GUztJT2dHVCxvQkRTVTtJQ1JWLGtCR3JDd0Q7SUhzQ3hELGdCUGtGUztJT2hGVCxvQkRxQlksRUFBQTtFQ3REcEI7SUF5Q1EsU0RiTztJQ2NQLGlCUDZFYztJTzVFZCxvQkdsRHdEO0lIbUR4RCxnQlBxRFM7SU9wRFQsb0JEekRVO0lDOERWLG9CREtZO0lDQVIsZ0JEL0RHO0lHdUNYLGtCQUFrQjtJQUNsQixjVG5HYTtJU29HYixvQkFYOEY7SUFnQjlGLGtCQUFrQixFQUFBO0lBQ2xCO01BQ0ksV0FBVztNQUNYLFdBSnNIO01BS3RILFdIOUZnQjtNRytGaEIsa0JBQWtCO01BUWQsU0FkeUw7TUFtQjdMLGNBQWM7TUFDZCxZQUFZO01BR1osdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQlJqSXlCLEVBQUE7TVF3SXpCO1FBOUJKO1VBZ0NRLGdDUjFJcUI7VVEySXJCLDZCUjFKUyxFQUFBLEVRNEpoQjtFRjFFTDtJQStEUSxjUHlEVztJT3hEWCxnQkRuQ2U7SUNvQ2YsY05oSlM7SU1pSlQseUJOeEY2RDtJTXlGN0QsbUJHMUV3RDtJSDJFeEQsZ0JQK0NTO0lPOUNULGtCQUFrQjtJQUNsQixvQkRsRlU7SUN3Rk4sZ0JSdEpTLEVBQUE7SVN3SmI7TUQ5RVI7UUErRVksZ0JEbERxQixFQUFBLEVDb0Q1Qjs7QUFFTDtFQUNJLFNBQVM7RUFDVCwrQ1B0S2lEO0VPdUtqRCxvQkc3RjREO0VIOEY1RCxnQkRiWTtFQ2NaLGNQM0phLEVBQUE7RU9zSmpCO0lBYVEsV0FBVztJQUNYLFNEZk87SUNnQlAsY1BvQlc7SU9uQlgseUJOekg2RDtJTTBIN0Qsa0JBQWtCO0lBQ2xCLG1CRzVHd0Q7SUg2R3hELGdCUGFTO0lPUkwsZ0JSckxTO0lRdUxiLG9CRHpIVTtJQzBIVixjTjdMUyxFQUFBO0VNa0tqQjtJQThCUSxrQkFBa0I7SUFDbEIsZ0JEL0JjO0lDZ0NkLGlCRDVCYztJQzZCZCxvQkczSHdEO0lIK0h4RCxvQkRwSVU7SUNxSVYsY1A1TFMsRUFBQTtJT3NKakI7TUF3Q1ksV0FBVztNQUNYLFdBQVc7TUFDWCxXRGpMWTtNQ2tMWixrQkFBa0I7TUFDbEIsT0FBTztNQUNQLFNBQVM7TUFDVCx1QkFBa0Q7TUFDbEQsbUJBQW1CO01BQ25CLHFCTnRNcUIsRUFBQTs7QU0wTWpDO0VBQ0ksY05wTmE7RU1xTmIsbUJHaEo0RDtFSGlKNUQsZ0JEcXdDTztFQ3B3Q1AsK0NQNU5pRCxFQUFBOztBT29PckQ7RUFDSSxjTmhPYTtFTWlPYixtQkc1SjREO0VINko1RCxnQkQwdkNPO0VDenZDUCwrQ1B4T2lELEVBQUE7O0FPZ1ByRDtFQUNJLGNONU9hO0VNNk9iLG9CR3hLNEQ7RUh5SzVELGdCRCt1Q087RUM5dUNQLCtDUHBQaUQsRUFBQTs7QU84UHJEO0VBR1ksY04vUEs7RU1nUUwsbUJHeExvRDtFSHlMcEQsZ0JBQWdCLEVBQUE7O0FBTTVCO0VBQ0ksMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFFbEIscUJBQXFCO0VBRXJCLDJCQUFxQjtNQUFyQix3QkFBcUI7VUFBckIscUJBQXFCO0VBQ3JCLFNBQVMsRUFBQTtFQzNHTDtJRHFHUjtNQVFRLGNBQWM7TUFDZCxpQkFBaUIsRUFBQSxFQVd4QjtFQ3pITztJRHFHUjtNQVlZLFNBQVMsRUFBQSxFQVFwQjtFQ3pITztJRHFHUjtNQWlCWSxnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFLTDtFQUNJLHFCRDJmMEI7RUN4ZjFCLGlEQUF3RDtFQUN4RCxvQkR5ZnlCO0VDeGZ6QixvQkc3TjREO0VIOE41RCw0Q05yQ2tCO0VNcUNsQixvQ05yQ2tCLEVBQUE7RU04QnRCO0lBU1EsY043TE0sRUFBQTtJTW9MZDtNQVdZLGNOL0xFLEVBQUE7RU1vTGQ7SUFlUSxjTjdMTSxFQUFBO0lNOEtkO01BaUJZLGNOL0xFLEVBQUE7RU04S2Q7SUFxQlEsY043TE0sRUFBQTtJTXdLZDtNQXVCWSxjTi9MRSxFQUFBO0VNd0tkO0lBMkJRLG1CR2xQd0Q7SUhtUHhELGNQL1NTO0lPZ1RULGVBQWUsRUFBQTtJQTdCdkI7TUErQlksWURGRjtNQ0dFLGlCQUFpQjtNQUNqQixtQ04zSitCO01NNEovQixlQUFlLEVBQUE7RUFsQzNCO0lBc0NRLG1CQUFtQjtJQUNuQixZRGkwQ29CLEVBQUE7RUN4MkM1QjtJQTZDWSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHdDRHkyQmtDO0lDcjJCbEMsZ0JEMmdCTztJQzFnQlAsa0JEbzNCdUIsRUFBQTtJQ3g2Qm5DO01Bc0RnQixZRC9CTjtNQ2dDTSxrQkFBa0I7TUFDbEIsd0NEZzJCOEI7TUMvMUI5QixtQ05uTDJCO01Nb0wzQixvQkdqUmdEO01Ia1JoRCw4Qk56Rk07TU15Rk4sc0JOekZNLEVBQUE7SU04QnRCO01BOERnQiwwQ0QyMUI4QixFQUFBO01DejVCOUM7UUFnRW9CLDBDRHkxQjBCO1FDeDFCMUIsOEJOaEdFO1FNZ0dGLHNCTmhHRSxFQUFBO0lNK0J0QjtNQXFFZ0Isd0NEcTFCNkIsRUFBQTtNQzE1QjdDO1FBdUVvQix3Q0RtMUJ5QixFQUFBO0VDMTVCN0M7SUFnRlksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWix3Q0RzMEJrQztJQ2wwQmxDLGdCRHdlTztJQ3ZlUCxrQkRpMUJ1QixFQUFBO0lDeDZCbkM7TUF5RmdCLFlEbkVOO01Db0VNLGtCQUFrQjtNQUNsQix3Q0Q2ekI4QjtNQzV6QjlCLG1DTnROMkI7TU11TjNCLG9CR3BUZ0Q7TUhxVGhELDhCTjVITTtNTTRITixzQk41SE0sRUFBQTtJTThCdEI7TUFrR2dCLDBDRHV6QjhCLEVBQUE7TUN6NUI5QztRQW9Hb0IsMENEcXpCMEI7UUNwekIxQiw4Qk5wSUU7UU1vSUYsc0JOcElFLEVBQUE7SU0rQnRCO01BeUdnQix3Q0RpekI2QixFQUFBO01DMTVCN0M7UUEyR29CLHdDRCt5QnlCLEVBQUE7RUMxNUI3QztJQW9IWSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHdDRGt5QmtDO0lDOXhCbEMsZ0JEb2NPO0lDbmNQLGtCRDZ5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QjtjQUFuQixtQkFBbUIsRUFBQSxFQVExQjtFQXpaTDtJQXFaWSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWUsRUFBQTtFSmxQbkI7SUlyS1I7TUE0WlksWUFBWSxFQUFBLEVBUW5CO0VKcFFHO0lJaEtSO01BdWFZLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CLEVBQUEsRUFFM0I7RUF6YUw7SUE0YVksWU4xSU87SU0ySVAsaUNYdFEyQjtJV3VRM0IsZUFBZTtJQUNmLGNYN1pxQjtJVzhackIsOEJYNUtVO0lXNEtWLHNCWDVLVSxFQUFBO0VXcFF0QjtJQW9iZ0IsY1psYUM7SVltYUQsOEJYbExNO0lXa0xOLHNCWGxMTSxFQUFBO0VXblF0QjtJQTJiZ0IsY1o1YUMsRUFBQTtFWWZqQjtJQWljWSxZTjNJTTtJTTRJTixrQkFBa0I7SUFDbEIsaUNYNVIyQjtJVzZSM0Isa0JGelhvRDtJRTBYcEQsY1huYnFCO0lXb2JyQiw4QlhuTVU7SVdtTVYsc0JYbk1VLEVBQUE7RVduUXRCO0lBMGNRLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsY2J6SDZEO0lhMEg3RCxnQkFBZ0IsRUFBQTtJSnhTaEI7TUlyS1I7UUErY1ksa0JBQWtCLEVBQUEsRUFFekI7RUo1U0c7SUlyS1I7TUFzZG9CLGNBQWMsRUFBQSxFQUVyQjs7QUFJYjtFQUVRLDZCWDlkYSxFQUFBO0VXNGRyQjtJQUlZLG1CTmk2Qlc7SU1oNkJYLG9CRnRab0Q7SUV1WnBELGdCTmk2QlE7SU1oNkJSLHdDTmk2QmdDO0lNaDZCaEMsZ0NYcmRxQjtJV3NkckIsa0JOazZCVSxFQUFBO0lNMzZCdEI7TUFZZ0Isb0JGN1pnRDtNRThaaEQsZ0JOMDVCSTtNTXo1Qkosd0NOMDVCNEIsRUFBQTtFTXg2QjVDO0lBbUJZLGdCQUFnQixFQUFBO0VBbkI1QjtJQXNCWSxvQkZ2YW9EO0lFd2FwRCxnQk52ZG1CO0lNd2RuQix3Q05nNUJnQyxFQUFBOztBTXg2QjVDO0VBNEJRLDZCWHhmYSxFQUFBO0VXNGRyQjtJQThCWSxpQk5rNUJTO0lNajVCVCxtQkZo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SVkwS2hCLHNCWjFLZ0IsRUFBQTtFWWlKdEI7SUE2QkkseURacks4QztZWXFLOUMsaURacks4QyxFQUFBOztBWXlLbEQ7RUFDRSxhQUFhLEVBQUE7O0FBS2Y7RUp0RkkscUNBQWdDO0VBdUI1QixXSWdFb047RUpoRHhOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1QxWWE7RVMyWWIseUJIb2RrRTtFR25kbEUsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtzUlI7TUpBUSwwQklDd087TUpEeE8sdUJJQ3dPO01KRHhPLGtCSUN3TztNSkF4Tyw0Q0FBa0UsRUFBQSxFSVV6RTtFSkxHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlRyYks7TVN1YkQscUJUdGJHO01TMGJQLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlR6Y1M7SVMyY0wscUJUM2NLO0lTK2NULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTtFWXVMdEI7SUp0RkkscUNBQWdDO0lBdUI1QixXSWtFZ047SUpsRHBOLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLG1EQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IzU1U7SVE0U1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSM1RNO0lRK1RWLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FKQVEsMEJJR29PO1FKSHBPLHVCSUdvTztRSkhwTyxrQklHb087UUpGcE8sNENBQWtFLEVBQUEsRUlHdkU7SUpFQztNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdFZFO1FRd1ZFLHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJIbVo4RDtNR2paMUQscUJIaVowRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VZdUx0QjtJSnRGSSxxQ0FBZ0M7SUF1QjVCLFdJcUVnTjtJSnJEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUnJTVTtJUXNTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixlQ2pWNEQ7SURrVjVELGdCSG1jZTtJR2xjZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlJyVE07SVF5VFYscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TUtzUlI7UUpBUSwwQklNb087UUpOcE8sdUJJTW9PO1FKTnBPLGtCSU1vTztRSkxwTyw0Q0FBa0UsRUFBQSxFSU12RTtJSkRDO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJoVkU7UVFrVkUscUJSbFZGO1FRc1ZGLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QkhtWjhEO01HaloxRCxxQkhpWjBEO01HN1k5RCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RVl1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0l3RTBNO0lKeEQ5TSxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNSL1JVO0lRZ1NWLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLGVDalY0RDtJRGtWNUQsZ0JIbWNlO0lHbGNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUi9TTTtJUW1UVixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNS3NSUjtRSkFRLDBCSVM4TjtRSlQ5Tix1QklTOE47UUpUOU4sa0JJUzhOO1FKUjlOLDRDQUFrRSxFQUFBLEVJU3ZFO0lKSkM7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUdqWjFELHFCSGlaMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QVlxTXRCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGVBQWU7RUFDZixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYyxFQUFBOztBQUtoQjtFSm5ISSxxQ0FBZ0M7RUF1QjVCLFdJNkY0TTtFSjdFaE4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDFZYTtFUzJZYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS21UUjtNSjdCUSwwQkk4QmdPO01KOUJoTyx1Qkk4QmdPO01KOUJoTyxrQkk4QmdPO01KN0JoTyw0Q0FBa0UsRUFBQSxFSThCekU7RUp6Qkc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR0Ykc7TVMwYlAscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVHpjUztJUzJjTCxxQlQzY0s7SVMrY1QsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXdOdEI7RUp2SEkscUNBQWdDO0VBdUI1QixXSWlHbU47RUpqRnZOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUeFlhO0VTeVliLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVHZaUztFUzJaYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3VUUjtNSmpDUSwwQklrQ3VPO01KbEN2Tyx1QklrQ3VPO01KbEN2TyxrQklrQ3VPO01KakN2Tyw0Q0FBa0UsRUFBQSxFSWtDekU7RUo3Qkc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR2YkM7TVMyYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDNjVztJUzZjUCxxQlQ3Y087SVNpZFgsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWTJOdEI7RUoxSEkscUNBQWdDO0VBdUI1QixXSW9HK007RUpwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Z0RWlFO0VVdUVqRSx5QlZ2RWlFO0VVd0VqRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJSzBUUjtNSnBDUSwwQklxQ21PO01KckNuTyx1QklxQ21PO01KckNuTyxrQklxQ21PO01KcENuTyw0Q0FBa0UsRUFBQSxFSXFDekU7RUpoQ0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVmpIeUQ7TVVtSHJELHFCVm5IcUQ7TVV1SHpELHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ1Y1M7SVM4Y0wscUJSMWRLO0lROGRULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVk4TnRCO0VKN0hJLHFDQUFnQztFQXVCNUIsV0l1R3VOO0VKdkYzTiwyQkl1RmdRO0VKdkZoUSwyQkl1RmdRO0VKdkZoUSxvQkl1RmdRO0VKckY1UCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGlEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlR4WWE7RVN5WWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUdlpTO0VTMlpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLNlRSO01KdkNRLDBCSXdDMk87TUp4QzNPLHVCSXdDMk87TUp4QzNPLGtCSXdDMk87TUp2QzNPLDRDQUFrRSxFQUFBLEVJd0N6RTtFSm5DRztJQUNJO01BQ0ksY1RqYks7TVNrYkwseUJSamNLO01RbWNELHFCVHBiQztNU3diTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1QzY1M7SVM0Y1QseUJSeGRTO0lRMGRMLHFCVDljSztJU2tkVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZaU90QjtFSmhJSSxxQ0FBZ0M7RUF1QjVCLFdJMEcyTTtFSjFGL00sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDFZYTtFUzJZYix5QlJqWmE7RVFrWmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtnVVI7TUoxQ1EsMEJJMkMrTjtNSjNDL04sdUJJMkMrTjtNSjNDL04sa0JJMkMrTjtNSjFDL04sNENBQWtFLEVBQUEsRUkyQ3pFO0VKdENHO0lBQ0k7TUFDSSxjVHBiSztNU3FiTCx5QlI5WXlEO01RZ1pyRCxxQlR2YkM7TVMyYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNUM2NTO0lTNGNULHlCUnhkUztJUTBkTCxxQlQ5Y0s7SVNrZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXFPdEI7RUpwSUkscUNBQWdDO0VBdUI1QixXSThHNEw7RUo5RmhNLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1QxWWE7RVMyWWIsNkJSMVppQjtFUTJaakIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUMVpTO0VTOFpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lLeVVSO01KbERZLG9EQUFvRSxFQUFBLEVJb0QvRTtFTHRVTztJS29VUjtNSjlDUSwwQkkrQ2dOO01KL0NoTix1QkkrQ2dOO01KL0NoTixrQkkrQ2dOO01KOUNoTixtREFBa0UsRUFBQSxFSStDekU7RUoxQ0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxR0hvaUJxQztNR2hpQnpDLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjVDFjVztJUzJjWCx5QlR6Y1M7SVMyY0wscUJUN2NPO0lTaWRYLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVl3T3RCO0VBQ0UsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLG9CSHRhOEQ7RUd1YTlELGdCUDhma0MsRUFBQTtFT3BnQnBDO0lBV0ksWVB0T087SU91T1AsZVA2eUI0QjtJTzV5QjVCLGlDWmxWbUM7SVltVm5DLG1CQUFtQixFQUFBO0VBZHZCO0lBaUJJLHFCQUFxQixFQUFBOztBQUt6QjtFQUNFLGtCQUFrQjtFQUNsQiwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VBSHJCO0lBTUksWVA1R2dCO0lPNkdoQixnQkFBZ0I7SUFDaEIsY1ovZTZCO0lZZ2Y3QixpQ1pwV21DO0lZcVduQyxVQUFVLEVBQUE7RUFWZDtJQWNJLHdCQUFpRDtJQUNqRCx5QkFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLFNBQThCO0lBQzlCLFVBQStCO0lBQy9CLFlBTnlCO0lBT3pCLDBDWjdnQmE7SVk4Z0JiLGNaamhCYTtJWWtoQmIsa0JBQWtCO0lBQ2xCLG9CSDljNEQ7SUcrYzVELGdCQUFnQixFQUFBOztBQVNwQjtFSjlMSSxxQ0FBZ0M7RUF1QjVCLFdJd0trSztFSnhKdEssb0JJd0pvTTtFSnhKcE0sb0JJd0pvTTtFSnhKcE0sYUl3Sm9NO0VKdEpoTSx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUd2QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUdoQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLDREQUErQztFQUMvQyxjUm5aYTtFUW9aYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JJdUlpSjtFSnRJakosa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWjR5R0MsRVlweUdDO0VEalhGO0lLOFhSO01KeEdRLDBCSXlHc0w7TUp6R3RMLHVCSXlHc0w7TUp6R3RMLGtCSXlHc0w7TUp4R3RMLDRDQUFrRSxFQUFBLEVJeUd6RTtFSnBHRztJQUNJO01BQ0ksY1RwYks7TVNxYkwseUJSeFl5RDtNUTBZckQscUJUdmJDO01TMmJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVEwTU47UUFDQyxjVC9iQTtRU2djQSw4QlI1TUs7UVE0TUwsc0JSNU1LLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ1Y1M7SVNnZEwscUJUaGRLO0lTa2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtJUWdPVjtNQUNDLGNSamVJLEVBQUE7RVFxZWI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVFpUjdDO0lBQ0ksWUh6S0U7SUcwS0Ysa0JIdXFIUTtJR3RxSFIsaUNSMVgyQjtJUTJYM0IsZUg0cUhBO0lHdnFIQSxjVHZoQk87SVN3aEJQLDhCUnBTVTtJUW9TVixzQlJwU1UsRUFBQTtFUXVTbEI7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZbVN0QjtFQUNFLFNBQVM7RUFDVCxhUDZxQndDO0VPNXFCeEMsb0JIL2Q4RDtFR2dlOUQsZ0JQNnFCMkM7RU81cUIzQyxjWmhmbUUsRUFBQTtFWTJlckU7SUFPSSxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFDRSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixhUGtxQndDO0VPanFCeEMsb0JIMWU4RDtFRzJlOUQsZ0JBQWdCO0VBQ2hCLGNaM2ZtRTtFWTRmbkUseUJidmlCaUI7RWF3aUJqQix5Qlo3Zm1FLEVBQUE7RVlzZnJFO0lBU00sY2I1aUJXO0lhNmlCWCx5QlpoZ0IrRDtJWWlnQi9ELHFCYjlpQlcsRUFBQTtJYW1pQmpCO01BYVUsY2JoakJPLEVBQUE7RWFtaUJqQjtJQWlCTSxjYmpqQlc7SWFrakJYLHlCWmprQlc7SVlra0JYLHFCWmxrQlcsRUFBQTtJWStpQmpCO01BcUJVLGNicmpCTyxFQUFBO0VhZ2lCakI7SUF5Qk0sWVBoTm9CO0lPaU5wQixpQlBxckJ3QztJT3ByQnhDLHVCWnhYNEI7SVl5WDVCLGVQa3JCc0M7SU9qckJ0QyxjWm5oQitELEVBQUE7O0FZdWhCckU7RUFDRSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsb0JIOWdCOEQ7RUcrZ0I5RCxnQkFBZ0I7RUFDaEIsY2Ixa0JpQjtFYTJrQmpCLHlCWjdrQitCO0VZOGtCL0Isd0VaelZvQjtFWXlWcEIsZ0VaelZvQixFQUFBO0VPL0ZkO0lLOGFSO01BWU0sZ0JBQWdCO01BQ2hCLGtCSHJoQjBELEVBQUEsRUdxakIvRDtFQTdDRDtJQWdCTSxjWmhtQlc7SVlpbUJYLHlCYnJsQlc7SWFzbEJYLHFCYnRsQlc7SWF1bEJYLHdFWm5XZ0I7SVltV2hCLGdFWm5XZ0IsRUFBQTtJWWdWdEI7TUFxQlUsY1pybUJPO01Zc21CUCw4Qlp0V1k7TVlzV1osc0JadFdZLEVBQUE7RVlnVnRCO0lBMEJNLGNiOWxCVztJYStsQlgseUJabGpCK0Q7SVltakIvRCxxQmJobUJXLEVBQUE7SWFva0JqQjtNQThCVSxjYmxtQk8sRUFBQTtFYW9rQmpCO0lBa0NNLFlQMVBvQjtJTzJQcEIsaUJBQWlCO0lBQ2pCLHVCWmxhNEI7SVltYTVCLGVBQWU7SUFDZixjYnhtQmE7SWF5bUJiLDhCWnRYZ0I7SVlzWGhCLHNCWnRYZ0IsRUFBQTtJTy9GZDtNSzhhUjtRQXlDVSxnQkFBZ0I7UUFDaEIsZUFBZSxFQUFBLEVBRXRCOztBQUdIO0VKN1JJLHFDQUFnQztFQXVCNUIsV0l1UWtPO0VKdlB0TyxvQkl1UHlRO0VKdlB6USxvQkl1UHlRO0VKdlB6USxhSXVQeVE7RUpyUHJRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVHhZYTtFU3lZYixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlR2WlM7RVMyWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWnU4R0MsRVkvN0dDO0VEdFhGO0lLa2VSO01KM01ZLDZDQUFvRSxFQUFBLEVJNk0vRTtFTC9kTztJSzZkUjtNSnZNUSwwQkl3TXNQO01KeE10UCx1Qkl3TXNQO01KeE10UCxrQkl3TXNQO01Kdk10UCw0Q0FBa0UsRUFBQSxFSXdNekU7RUpuTUc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR2YkM7TVMyYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNSM2NBO1FRNGNBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDNjVztJUzZjUCxxQlQ3Y087SVNpZFgsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1JqZUksRUFBQTtFUXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUWlSN0M7SUFDSSxZSG5LQztJR29LRCxrQkg4c0NRO0lHN3NDUixpQ1IxWDJCO0lRMlgzQixlSCtzQ0E7SUcxc0NBLGNUdmhCTztJU3doQlAsOEJScFNVO0lRb1NWLHNCUnBTVSxFQUFBO0VRdVNsQjtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlrWXRCO0VBRUksWVA1UVM7RU82UVQsa0JBQWtCO0VBQ2xCLGlDWm5lbUMsRUFBQTs7QVl5ZXZDO0VKM1NJLHFDQUFnQztFQXlCNUIsV0ltUmdJO0VKclFwSSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsK0NBQStDO0VBRS9DLHlCSG90SGdCO0VHbnRIaEIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JJb1BzSDtFSm5QdEgsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBV1gscUJSbGFTO0VRb2FiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFWThZbEIs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WTJuQm5DLGVQNDJCMEI7SU8zMkIxQixjYmp4QmE7SWFreEJiLDhCWmhpQmtCO0lZZ2lCbEIsc0JaaGlCa0IsRUFBQTtFWW9pQmhCO0lBQ0ksZUFBZTtJQUNmLGNienhCUztJYTB4QlQsNEJaeGlCWTtJWXdpQlosb0JaeGlCWSxFQUFBO0VZNGlCaEI7SUFDRSxjYmp5QlMsRUFBQTtFYXF5QmY7SUFDRSxtQkFBbUIsRUFBQTs7QUFRdkI7RUp4ZEkscUNBQWdDO0VBeUI1QixXSW9jOEw7RUp0YmxNLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUeFlhO0VTeVliLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlR2WlM7RVMyWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUt3cEJSO01KbFlRLFdJdVk4TDtNSnRZOUwsNENBQWtFLEVBQUEsRUl1WXZFO0VKbFlDO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlRuYk87TVNxYkgscUJUcmJHO01TeWJQLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFFSSx5QlQ1Y1M7SVM4Y0wscUJUOWNLO0lTa2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU4SnpELHlCUjllSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlra0J0QjtFQWhERSxXUHMzQjZCO0VPcjNCN0IsWVBxM0I2QjtFT3AzQjdCLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFHckIsNkJaNXhCbUI7RVk2eEJuQixlQUFlO0VBQ2YseUNaMWhCb0I7RVkwaEJwQixpQ1oxaEJvQixFQUFBO0VZMmhCcEI7SUFDRSxZUGpnQmE7SU9rZ0JiLGlDWjFuQm1DO0lZMm5CbkMsZVA0MkIwQjtJTzMyQjFCLGNianhCYTtJYWt4QmIsOEJaaGlCa0I7SVlnaUJsQixzQlpoaUJrQixFQUFBO0VZb2lCaEI7SUFDSSxlQUFlO0lBQ2YsY2J6eEJTO0lhMHhCVCw0Qlp4aUJZO0lZd2lCWixvQlp4aUJZLEVBQUE7RVk0aUJoQjtJQUNFLGNianlCUyxFQUFBO0VhcXlCZjtJQUNFLG1CQUFtQixFQUFBOztBQXFCdkI7RUpyZUkscUNBQWdDO0VBeUI1QixXSThjOEw7RUpoY2xNLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUeFlhO0VTeVliLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlR2WlM7RVMyWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtxcUJSO01KL1lRLFdJaVo4TDtNSmhaOUwsNENBQWtFLEVBQUEsRUlpWnZFO0VKNVlDO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlRuYk87TVNxYkgscUJUcmJHO01TeWJQLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFFSSx5QlQ1Y1M7SVM4Y0wscUJUOWNLO0lTa2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU4SnpELHlCUjllSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlza0J0QjtFSnJlSSxxQ0FBZ0M7RUF5QjVCLFlJaWRnTjtFSm5jcE4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDFZYTtFUzJZYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixxQkNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtxcUJSO01KL1lRLFlJb1pnTjtNSm5aaE4sNENBQWtFLEVBQUEsRUlvWnZFO0VKL1lDO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlRyYks7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O0lBQ0ksY1J2ZFM7SVF3ZFQseUJUemNTO0lTMmNMLHFCVDNjSztJUytjVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZbXBCdEI7RUpsakJJLHFDQUFnQztFQXVCNUIsV0k2aEJ5TztFSjlnQjdPLFlIbVB3QjtFR2xQeEIsb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDFZYTtFUzJZYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS2t2QlI7TUo1ZFEsV0k4ZHNQO01KN2R0UCw0Q0FBa0UsRUFBQSxFSThkdkU7RUp6ZEM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR0Ykc7TVMwYlAscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVHpjUztJUzJj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Wmp6QmdCO0lZaXpCaEIsNkVaanpCZ0I7SVlpekJoQixxRVpqekJnQjtJWWl6QmhCLDhGWmp6QmdCLEVBQUE7RVlxeEJ0QjtJQW9DTSxxQlpsOEJRO0lZbThCUix5QmQxdUIrRCxFQUFBO0ljcXNCckU7TUF1Q1EsY1pyOEJNLEVBQUE7RVk4NUJkO0lBNENRLHFCZGp2QjZEO0lja3ZCN0QseUJabGtDUztJWW1rQ1QseUNabjBCYztJWW0wQmQsaUNabjBCYyxFQUFBO0VZcXhCdEI7SUFxRE0scUJkMXZCK0Q7SWMydkIvRCx5Qloza0NXO0lZNGtDWCwwREFBa0Q7WUFBbEQsa0RBQWtELEVBQUE7RUF2RHhEO0lBNERJLGlCUGpiaUIsRUFBQTtFT3FYckI7SUFpRUksWVAzZHdCO0lPNGR4QiwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1oseUJaMWxDYTtJWTJsQ2IsMkJBQTJCO0lBQzNCLHFCZDV3QmlFO0ljNndCakUsbUJBQW1CO0lBU25CLHFGWnIyQmtCO0lZcTJCbEIsNkVacjJCa0I7SVlxMkJsQixxRVpyMkJrQjtJWXEyQmxCLDhGWnIyQmtCO0lZczJCbEIsVUFBVSxFQUFBO0lBbEZkO01Bb0ZNLDREWnoyQmdCO01ZeTJCaEIsb0RaejJCZ0IsRUFBQTtJWXF4QnRCO01BdUZNLG1CQUFtQixFQUFBO0lBdkZ6QjtNQTBGTSxvQkFBb0IsRUFBQTtFQTFGMUI7SUE4RkksOEJabDNCa0I7SVlrM0JsQixzQlpsM0JrQixFQUFBO0VZb3hCdEI7SUFvR1EsY2I3bUNTO0lhOG1DVCw4QloxM0JjO0lZMDNCZCxzQloxM0JjLEVBQUE7RVlxeEJ0QjtJQXdHUSx5RFpyM0IwQztZWXEzQjFDLGlEWnIzQjBDO0lZczNCMUMsMkNaOTNCYztJWTgzQmQsbUNaOTNCYztJWTgzQmQsMkJaOTNCYztJWTgzQmQsb0RaOTNCYyxFQUFBO0VZcXhCdEI7SUE4R0ksZUFBZSxFQUFBO0lMdCtCWDtNQy9FSjtRQUNJLGNSbkV5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aEJNLFdBQVc7TUFDWCx5QkFBcUQ7TUFDckQsMEJBQXNEO01BQ3RELGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTztNQUNQLFNBQVM7TUFDVCxRQUFRO01BQ1IsWUFBWTtNQUNaLDRCWnZnRCtEO01ZeWdEN0QsZ0JkdmpEYTtNY3lqRGYscUNaN3pDZ0I7TVk2ekNoQiw2Qlo3ekNnQixFQUFBO0lPL0ZkO01LbTNCUjtRQTRpQk0sdUJBQStDO1FBQy9DLGtCQUFrQixFQUFBLEVBeUhyQjtJQXRxQkg7TUFnakJNLDZCWnhrRGU7TVl5a0RmLHFCYjFqRFc7TWEyakRYLDREWnYwQ2dCO01ZdTBDaEIsb0RadjBDZ0IsRUFBQTtNWXF4QnRCO1FBb2pCUSxxQmI3akRTO1FhOGpEVCxxQ1oxMENjO1FZMDBDZCw2QloxMENjLEVBQUE7TVlxeEJ0QjtRQXdqQlEsY2Jqa0RTO1Fha2tEVCw4Qlo5MENjO1FZODBDZCxzQlo5MENjLEVBQUE7TVlxeEJ0QjtRQTRqQlEsY2Jya0RTLEVBQUE7SWF5Z0NqQjtNQWdrQk0sMENieGtEYTtNYXlrRGIsbUNiMWtEVyxFQUFBO01heWdDakI7UUFta0JRLG1DYjVrRFMsRUFBQTtJYXlnQ2pCO01Bd2tCUSxZUG53Q2U7TU9vd0NmLDRCYmxsRFMsRUFBQTtJYXlnQ2pCO01BNmtCTSxxQlozK0NRO01ZNCtDUix5QmRueEMrRCxFQUFBO01jcXNCckU7UUFnbEJRLHFCWjkrQ00sRUFBQTtNWTg1QmQ7UUFtbEJRLGNBQWMsRUFBQTtNQW5sQnRCO1FBdWxCVSxZUGp4Q087UU9xeENQLGNaei9DSSxFQUFBO01ZODVCZDtRQStsQlEsY1o3L0NNLEVBQUE7SVk4NUJkO01BbW1CTSxXQUFXO01BQ1gsaUJQeGtDYTtNT3lrQ2Isa0JBQWtCO01BQ2xCLGVIbmpEMEQ7TUdvakQxRCxnQlB2a0M0QjtNT3drQzVCLGNiam5EVztNYWtuRFgsOEJaNzNDZ0I7TVk2M0NoQixzQlo3M0NnQixFQUFBO01PL0ZkO1FLbTNCUjtVQTJtQlEsWUFBcUQsRUFBQSxFQUV4RDtJQTdtQkw7TUErbUJNLG9CQUFvQjtNQUNwQixjQUFjO01BQ2QsbUJBQW1CLEVBQUE7TUFqbkJ6QjtRQW1uQlEsWVAveUNTO1FPZ3pDVCxpQ1pyK0MrQjtRWXMrQy9CLGVBQWU7UUFDZixjYi9uRFMsRUFBQTtNYXlnQ2pCO1FBeW5CUSxpQkFBaUIsRUFBQTtJQXpuQnpCO01BNm5CTSxrQlBqbUNRO01Pa21DUixVQUFVLEVBQUE7TUxqL0NSO1FLbTNCUjtVQWdvQlEsbUJQbm1DTyxFQUFBLEVPcW1DVjtJQWxvQkw7TUFvb0JNLGlCQUFpQjtNQUNqQixvQkhsbEQwRDtNR21sRDFELGdCQUFnQixFQUFBO0lBdG9CdEI7TUF5b0JNLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsWUFBWTtNQUNaLGFBQWE7TUFDYixlQUFlO01BQ2YsVUFBVSxFQUFBO01BL29CaEI7UUFpcEJRLDBCQUEwQixFQUFBO01BanBCbEM7UUFvcEJRLFlQOTBDUztRTyswQ1QsaUJBQWlCO1FBQ2pCLGlDWnZnRCtCO1FZd2dEL0IsZUFBZTtRQUNmLGNacnBEeUIsRUFBQTtJWTYvQmpDO01BNHBCTSxXQUFXO01BQ1gsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTztNQUNQLFVBQVU7TUFDVixVQUFVO01BQ1YsZUFBZTtNQUNmLFVBQVUsRUFBQTtFQXBxQmhCO0lBeXFCTSxZUG5rQ3NCLEVBQUE7SU8wWjVCO01BMnFCUSxZUHJrQ29CO01Pc2tDcEIsY0FBYyxFQUFBO0VBNXFCdEI7SUFvckJJLGlCQUFpQixFQUFBO0VBcHJCckI7SUF5ckJRLHdDQUFnQztZQUFoQyxnQ0FBZ0MsRUFBQTs7QUFNeEM7RUFHTSxXUGtGd0IsRUFBQTs7QU9yRjlCO0VBT0ksa0JQK0VpQyxFQUFBOztBTzNFckM7RUFDRTtJQUNFLHVDWnpzRDZCO0lZMHNEN0IsY1psdURhLEVBQUE7RVlvdURmO0lBQ0UseUJidHREYTtJYXV0RGIsY1p0dURhLEVBQUEsRUFBQTs7QVkrdERqQjtFQUNFO0lBQ0UsdUNaenNENkI7SVkwc0Q3QixjWmx1RGEsRUFBQTtFWW91RGY7SUFDRSx5QmJ0dERhO0lhdXREYixjWnR1RGEsRUFBQSxFQUFBOztBTzZKVDtFSzZrRFI7SUFJTSwwQkFBa0MsRUFBQSxFQW9CdkM7O0FBeEJEO0VBU0ksY1ozdEQ2QjtFWTR0RDdCLG9CSDVxRDREO0VHNnFENUQsZ0JQL3NDK0IsRUFBQTs7QU9vc0NuQztFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPb3NDbkM7RUFTSSxjWjN0RDZCO0VZNHREN0Isb0JINXFENEQ7RUc2cUQ1RCxnQlAvc0MrQixFQUFBOztBT29zQ25DO0VBU0ksY1ozdEQ2QjtFWTR0RDdCLG9CSDVxRDREO0VHNnFENUQsZ0JQL3NDK0IsRUFBQTs7QU9vc0NuQztFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPOHRDbkM7RUFFRSxZUDNvQzBCO0VPNG9DMUIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFDWixXQUFXO0VBQ1gsbUJBQW1CO0VBRW5CLGlCQUFpQjtFQU1iLHNCZDV3RGU7RWMrd0RuQixTQUFTO0VBQ1QscUNacGhEb0I7RVlvaERwQiw2QlpwaERvQixFQUFBO0VPcEdkO0lLdW1EUjtNQXVCSSxXQUFXO01BQ1gsMkJQaEVxQyxFQUFBLEVPdUp4QztFQS9HRDtJQTJCSSxxQlp4cURVO0lZeXFEVix5QmRoOUNpRTtJY2k5Q2pFLFVBQVUsRUFBQTtJQTdCZDtNQStCUSxjWjVxRE0sRUFBQTtJWTZvRGQ7TUFrQ1EsY1p0eURTO01ZdXlEVCw4Qlp2aURjO01ZdWlEZCxzQlp2aURjLEVBQUE7RVlvZ0R0QjtJQXVDSSxXQUFXO0lBRVgsWVBsckN3QjtJT29yQ3RCLGVQakhZO0lPbUhkLGNQaEgwQjtJT2lIMUIseUJabHpEYTtJWW16RGIsbUJBQW1CO0lBQ25CLHFCZHArQ2lFO0ljcytDakUsaUJBQWlCO0lBQ2pCLDRCYjN5RGE7SWE0eURiLGVBQWU7SUFXWCxzQkFBMEc7SUFHOUcseUNacmtEa0I7SVlxa0RsQixpQ1pya0RrQixFQUFBO0lPcEdkO01LdW1EUjtRQW9FTSwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQjtRQUNsQixTUDFJTztRTzJJUCwyQlA1SCtCLEVBQUEsRU9vS2xDO0lBOUdIO01BMEVRLFlQM2dERTtNTzRnREYsV1BuSjBCO01Pb0oxQixjQUFjO01BQ2QsWUFBWTtNQUNaLGlDWjlxRCtCO01ZK3FEL0IsZUFBZTtNQUNmLDRCYngwRFM7TWF5MERULDhCWnBsRGM7TVlvbERkLHNCWnBsRGMsRUFBQTtJWW1nRHRCO01Bc0ZRLGNaMTFEUztNWTIxRFQscUJkM2dENkQ7TWM0Z0Q3RCx1Q2JoMURTO01haTFEVCx5Q1o3bERjO01ZNmxEZCxpQ1o3bERjLEVBQUE7TVlvZ0R0QjtRQTRGWSxjWmgyREssRUFBQTtJWW93RGpCO01BbUdNLGNadjJEVztNWXcyRFgscUJkeGhEK0Q7TWN5aEQvRCx5QmIxMURXO01hMjFEWCx5Q1oxbURnQjtNWTBtRGhCLGlDWjFtRGdCLEVBQUE7TVlvZ0R0QjtRQXlHVSxjWjcyRE8sRUFBQTs7QVlzM0RqQjtFQUNFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLG1DWnpuRG9CO0VZeW5EcEIsMkJaem5Eb0IsRUFBQTtFWXFuRHRCO0lBTUksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQix5Qlo5M0RhO0lZKzNEYixtQ1ovbkRrQjtJWStuRGxCLDJCWi9uRGtCLEVBQUE7O0FZcW9EdEI7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBO0VBRGY7SUFLSSw2Qlo3NERpQixFQUFBO0lZdzREckI7TUFPTSxjYmg0RFcsRUFBQTtJYWs0RGI7TUFUSjtRQVdRLHlCWmg1RFMsRUFBQTtRWXE0RGpCO1VBYVUsY2JuNERPLEVBQUEsRWFvNERSO0lBZFQ7TUFrQk0seUJaajVEVyxFQUFBO01ZKzNEakI7UUFvQlEsY1p0NURTLEVBQUE7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RCxnQkg0SStCO0VHM0kvQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlJ2WnlCO0VRMlo3QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJS2l3RVI7TUoxK0RZLHNEQUFvRSxFQUFBLEVJNitEL0U7RUwvdkVPO0lLNHZFUjtNSnQrRFEsV0l3K0RnUDtNSnYrRGhQLHFEQUFrRSxFQUFBLEVJdytEekU7RUpuK0RHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlRsYks7TVNvYkQscUJUcGJDO01Td2JMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQzY1c7SVMrY1AscUJUL2NPO0lTaWRYLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlrcUV0QjtFQUNFLFdBQVcsRUFBQTtFQURiO0lBR0ksaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGdCQUFnQixFQUFBO0lBUHBCO01BU00sY2JoNkVXO01haTZFWCxnQkFBZ0IsRUFBQTtJQVZ0QjtNQWNRLG1CQUFtQixFQUFBO0VBZDNCO0lBbUJJLG1CSDkyRTREO0lHKzJFNUQsZUFBZTtJQUNmLDhCWnZyRWtCO0lZdXJFbEIsc0JadnJFa0IsRUFBQTtJWWtxRXRCO01BeUJRLGNiaDdFUztNYWk3RVQsZ0JBQWdC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SSx5QkhtWjhEO1VHL1kxRCxxQkgrWTBEO1VHN1k5RCw0QlI5TmM7VVE4TmQsb0JSOU5jLEVBQUE7UVFxT2xCO1VBSVEsY1Z6SnlEO1VVOEp6RCx5QlI5ZUs7VVFtZkwscUJWbkt5RDtVVXFLN0QsbUJBQW1CLEVBQUE7UUFPdkI7VUFJUSxxQlZoTHlELEVBQUE7UVVvTGpFO1VBQ0ksYUFBYTtVQUNiLDREUjVQNkM7a0JRNFA3QyxvRFI1UDZDLEVBQUE7UVE4UmpEO1VBQ0kseUNSeFNjO1VRd1NkLGlDUnhTYyxFQUFBO01lOEN0QjtRUG1ESSxxQ0FBZ0M7UUF5QjVCLFlPMUJvTDtRUHdDeEwsb0JBMUNnWTtRQTBDaFksb0JBMUNnWTtRQTBDaFksYUExQ2dZO1FBNEM1WCx5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBTTNCLGtCQUFrQjtRQUNsQixpREFBa0U7UUFFbEUsZ0RBQStDO1FBQy9DLGNSL1JVO1FRZ1NWLHlCVnZFaUU7UVV3RWpFLGlCSCtjNEI7UUc5YzVCLG9CQ2pWNEQ7UURrVjVELGdCT3pEeUs7UVAwRHpLLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQVNYLHFCUjdad0I7UVFpYTVCLHFCQUFxQjtRQUNyQixjSDBieUI7UUd2YnJCLDJCQUFvRTtRQUV4RSxnQkFBZ0I7UUFDaEIsNEJSaExrQjtRUWdMbEIsb0JSaExrQixFQUFBO1FPcEdkO1VRa0pSO1lQcUlZLGtEQUFvRSxFQUFBLEVPbEYvRDtRUmhNVDtVUTZJUjtZUHlJUSxZT3ZGb0w7WVB3RnBMLG1EQUFrRSxFQUFBLEVPdkZ6RDtRUDRGYjtVQUNJO1lBQ0ksY1JoY0s7WVFpY0wseUJSMVVFO1lRNFVFLHFCUjVVRjtZUWdWRixxQkFBcUI7WUFDckIsNEJSeE1VO1lRd01WLG9CUnhNVSxFQUFBO1lRZ05WO2NBQ0kseUJSamRDO2NRa2RELHlDUmxOTTtjUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtRQUdUO1VBQ0ksY1J2ZFM7VVF3ZFQseUJIbVo4RDtVRy9ZMUQscUJIK1kwRDtVRzdZOUQsNEJSOU5jO1VROE5kLG9CUjlOYyxFQUFBO1FRcU9sQjtVQUlRLGNWekp5RDtVVThKekQseUJSOWVLO1VRbWZMLHFCVm5LeUQ7VVVxSzdELG1CQUFtQixFQUFBO1FBT3ZCO1VBSVEscUJWaEx5RCxFQUFBO1FVb0xqRTtVQUNJLGFBQWE7VUFDYiw0RFI1UDZDO2tCUTRQN0Msb0RSNVA2QyxFQUFBO1FROFJqRDtVQUNJLHlDUnhTYztVUXdTZCxpQ1J4U2MsRUFBQTtJZThDdEI7TVBtREkscUNBQWdDO01BeUI1QixZT3JCeUo7TVBtQzdKLG9CQTFDZ1k7TUEwQ2hZLG9CQTFDZ1k7TUEwQ2hZLGFBMUNnWTtNQTRDNVgseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFNM0Isa0JBQWtCO01BQ2xCLHdEQUFrRTtNQUVsRSxnREFBK0M7TUFDL0MsY1QxWWE7TVMyWWIseUJSdlphO01Rd1piLGlCSCtjNEI7TUc5YzVCLG9CQ2pWNEQ7TURrVjVELGdCT3BEOEk7TVBxRDlJLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsZUFBZTtNQVNYLHFCUjdad0I7TVFpYTVCLHFCQUFxQjtNQUNyQixjSDBieUI7TUd2YnJCLDJCQUFvRTtNQUV4RSxnQkFBZ0I7TUFDaEIsNEJSaExrQjtNUWdMbEIsb0JSaExrQixFQUFBO01PL0ZkO1FRNklSO1VQeUlRLFlPbEZ5SjtVUG1Gekosc0RBQWtFLEVBQUEsRU9sRjdEO01QdUZUO1FBQ0k7VUFDSSxjUmhjSztVUWljTCx5QlJ4Ym9CO1VRMGJoQixxQlJoY0M7VVFvY0wscUJBQXFCO1VBQ3JCLDRCUnhNVTtVUXdNVixvQlJ4TVUsRUFBQTtVUWdOVjtZQUNJLHlCUmpkQztZUWtkRCx5Q1JsTk07WVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7TUFHVDtRQUNJLGNSdmRTO1FRd2RULHlCVDVjUztRU2dkTCxxQlRoZEs7UVNrZFQsNEJSOU5jO1FROE5kLG9CUjlOYyxFQUFBO01RcU9sQjtRQUlRLGNWekp5RDtRVThKekQseUJSOWVLO1FRbWZMLHFCVm5LeUQ7UVVxSzdELG1CQUFtQixFQUFBO01BT3ZCO1FBSVEscUJWaEx5RCxFQUFBO01Vb0xqRTtRQUNJLGFBQWE7UUFDYiw0RFI1UDZDO2dCUTRQN0Msb0RSNVA2QyxFQUFBO01ROFJqRDtRQUNJLHlDUnhTYztRUXdTZCxpQ1J4U2MsRUFBQTs7QWU4Q3RCO0VQeVNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUNuQjtJQUNJLFlIOVJVO0lHK1JWLGlDUnpiK0I7SVEwYi9CLGVINE5RO0lHMU5KLGNSN2xCSztJUWltQlQsc0RSbldjO0lRbVdkLDhDUm5XYztJUW1XZCxzQ1JuV2M7SVFtV2QsOERSbldjLEVBQUE7RVFzV2Q7SUFHUSxjVDlsQkM7SVNrbUJMLGdDQUF3QjtZQUF4Qix3QkFBd0I7SUFDeEIsc0RSL1dVO0lRK1dWLDhDUi9XVTtJUStXVixzQ1IvV1U7SVErV1YsOERSL1dVLEVBQUE7RVFtWGQ7SUFDSSxjVHJtQks7SVNzbUJMLDhDUnJYVTtJUXFYVixzQ1JyWFUsRUFBQTs7QWVnSHRCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixtQk45UzREO0VNK1M1RCxnQkFBZ0IsRUFBQTtFUjFOWjtJUW1OUjtNQVNRLGtCQUFrQixFQUFBLEVBaUJ6QjtFQTFCRDtJQVlRLG1CQUFtQixFQUFBO0VBWjNCO0lBZVEseUJqQi9DNkQ7SWlCZ0Q3RCxjZnJSTSxFQUFBO0VlcVFkO0lBbUJRLHlCakJuRDZEO0lpQm9EN0QsY2ZuUk0sRUFBQTtFZStQZDtJQXVCUSx5QmpCakRtRjtJaUJrRG5GLGNmalJNLEVBQUE7O0FnQjdJZDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDcEJ5eU5DO0FvQmx4TkQ7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixTWDAwRVEsRUFBQTtFRTVxRUo7SVNqS1I7TUFLUSxTWHkwRUksRUFBQSxFV3hvRVg7RUF0TUQ7SUFRUSxhQUFhLEVBQUE7SUFSckI7TUFjWSx5RGhCMFBzQztjZ0IxUHRDLGlEaEIwUHNDLEVBQUE7TU81RzFDO1FTNUpSO1VBb0JnQixlQUFlO1VBQ2YsTUFBTTtVQUNOLE9BQU87VUFDUCxhQUFhLEVBQUE7VUF2QjdCO1lBeUJtQixRQUFRO1lBQ1IsdUNBQStCO1lBQS9CLCtCQUErQixFQUFBLEVBQ2pDO01BM0JqQjtRQTBDb0IsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixtQ2hCbU5FO1FnQm5ORiwyQmhCbU5FLEVBQUE7TWdCL1B0QjtRQWtEb0IsYUFBYSxFQUFBO01BbERqQztRQXFEb0IsZ0JBQWdCLEVBQUE7TUFyRHBDO1FBd0RvQixVQUFVLEVBQUE7TUF4RDlCO1FBMkRvQix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsVUFBVSxFQUFBO1FBNUQ5QjtVQStENEIsYVg2MkZ1QjtVVzUyRnZCLGdCWDQyRnVCO1VXMzJGdkIsVVgwMkZ3QjtVV3oyRnhCLHVEaEI4TE47VWdCOUxNLCtDaEI4TE4sRUFBQTtNZ0JoUXRCO1FBdUVvQixVQUFVLEVBQUE7TUF2RTlCO1FBMEVvQixZWGdqQlE7UVcvaUJSLGFBQWEsRUFBQTtRQTNFakM7VUE2RXdCLGFBQWEsRUFBQTtRQTdFckM7VUFnRndCLFdqQm1CTjtVaUJsQk0sY0FBYztVQUNkLFVBQVUsRUFBQTtNQWxGbEM7UUFzRm9CLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2QixVQUFVLEVBQUE7TUF2RjlCO1FBMEZvQixxQlhzeUUyQjtRV3J5RTNCLGdDaEJvS0U7UWdCcEtGLHdCaEJvS0UsRUFBQTtNZ0IvUHRCO1FBOEZvQixtQkFBTztZQUFQLFdBQU87Z0JBQVAsT0FBTztRQUNQLGdCQUFnQjtRQUNoQixtQkFBbUIsRUFBQTtRQWhHdkM7VUFrR3dCLFlYd2hCSSxFQUFBO1VXMW5CNUI7WUF1R2dDLFlYbWhCSjtZV2poQkEsaUJYKzJGTixFQUFBO1FXeDlGdEI7VUE2R3dCLFNBQWdDLEVBQUE7TUE3R3hEO1FBaUhvQixnQkFBZ0I7UUFDaEIsbUJBQW1CLEVBQUE7UUFsSHZDO1VBcUg0QixZWHFnQkEsRUFBQTtRVzFuQjVCO1VBeUh3QixZWGlnQkksRUFBQTtVVzFuQjVCO1lBMkg0QixZWCtmQSxFQUFBO01XMW5CNUI7UUFvSW9CLGFBQWEsRUFBQTtNQXBJakM7UUF3SW9CLGFBQWEsRUFBQTtRQXhJakM7VUEwSXdCLHlCQUFtQjtjQUFuQixzQkFBbUI7a0JBQW5CLG1CQUFtQixFQUFBO01BMUkzQztRQThJb0IseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CLEVBQUE7UUE5SXZDO1VBaUp3QixZWHllSSxFQUFBO1FXMW5CNUI7VUFvSndCLGlCQUFpQixFQUFBO01BcEp6QztRQTJKZ0MsY0FBYztRQUNkLGlCQUFpQixFQUFBO1FBNUpqRDtVQThKb0MscUJBQVc7VUFDWCxZQUFvSDtVQUNwSCxnRGhCK0ZkO1VnQi9GYyx3Q2hCK0ZkLEVBQUE7TWdCL1B0QjtRQXVLNEIsaUJYczlFYjtRV3I5RWEsb0JYcTlFYixFQUFBO01FNTlFUDtRU2pLUjtVQTRLZ0MsYUFBTztVQUNQLGNBQVE7VUFDUiwyQ2hCaUZWO1VnQmpGVSxtQ2hCaUZWLEVBQUEsRWdCL0VHO01UZmpCO1FTaktSO1VBdUx3QixhQUFhLEVBQUEsRUFFcEI7TUF6TGpCO1FBNEx3QixhQUFhLEVBQUE7TUE1THJDO1FBK0x3QixXakI1Rk47UWlCNkZNLGNBQWMsRUFBQTs7QUFVdEM7RUFDSSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZTtFQUlYLHlCakJ6TVMsRUFBQTtFUWlKVDtJUzhDUjtNQWNZLFdBQVc7TUFDWCxVQUFVO01BQ1YsV1grcEU2QjtNVzlwRTdCLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsU0FBUztNQUNULE9BQU87TUFDUCxZQUFZO01BQ1oseUJqQnJOSztNaUJzTkwsOEJoQitCVTtNZ0IvQlYsc0JoQitCVSxFQUFBLEVnQjlCYjtFVGpFRDtJU3lDUjtNQTJCUSw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0I7TUFHbEIsZ0JYaW5FZ0IsRUFBQSxFV3ptRTNCOztBQUdEO0VBQ0ksY0FBYztFQUNkLGlCQUFpQixFQUFBO0VUekZiO0lTdUZSO01BSVEsNEJBQVE7VUFBUixpQkFBUTtjQUFSLFFBQVEsRUFBQSxFQWtKZjtFVDdPTztJU3VGUjtNQU9RLGVBQWU7TUFDZixtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWSxFQUFBLEVBOEluQjtFVHhPTztJU2tGUjtNQVdRLGFBQWEsRUFBQSxFQTJJcEI7RUF0SkQ7SUFjUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixxQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsU0FBUztJQUNULFVBQVUsRUFBQTtJQW5CbEI7TUFxQlksa0JBQWtCLEVBQUE7RUFyQjlCO0lBK0JRLFdYNmtFMEI7SVcza0UxQixZWDJrRTBCO0lXMWtFMUIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixnQlh5a0VVO0lXeGtFVixlQUFlLEVBQUE7SVQ3SGY7TVN1RlI7UUF3Q1ksZVh1a0VNLEVBQUEsRVcxakViO0lBckRMO01BMkNZLGNoQi9SSztNZ0JnU0wsOEJoQi9CVTtNZ0IrQlYsc0JoQi9CVSxFQUFBO0lnQmJ0QjtNQStDWSxxQkFBcUIsRUFBQTtNQS9DakM7UUFpRGdCLGNqQnRSQztRaUJ1UkQsOEJoQnRDTTtRZ0JzQ04sc0JoQnRDTSxFQUFBO0VnQlp0QjtJQWtFWSxZWFJHO0lXU0gsaUNoQm5KMkI7SWdCb0ozQixlWCtpRUc7SVc5aUVILGlDQUFpRDtZQUFqRCx5QkFBaUQ7SUFDakQsaUJBQWlCLEVBQUE7SVR4SnJCO01Ta0ZSO1FBd0VnQixlWDRpRUQsRUFBQSxFVzFpRU47RUExRVQ7SUFpRlksWVh4QkQ7SVd5QkMsaUNoQmxLMkI7SWdCbUszQixlWGdpRUcsRUFBQTtJRXJzRVA7TVNrRlI7UUFxRmdCLGVYK2hFRCxFQUFBLEVXN2hFTjtFQXZGVDtJQThGWSxZWHRDQTtJV3VDQSxpQ2hCL0syQjtJZ0JnTDNCLGVYbWhFRyxFQUFBO0lFcnNFUDtNU2tGUjtRQWtHZ0IsZVhraEVELEVBQUEsRVdoaEVOO0VBcEdUO0lBNEdZLFlYcEVLO0lXcUVMLGlDaEI3TDJCO0lnQjhMM0IsZVhxZ0VHLEVBQUE7SUVyc0VQO01Ta0ZSO1FBZ0hnQixlWG9nRUQsRUFBQSxFV2xnRU47RUFsSFQ7SUFxSGdCLFlYNUVJO0lXNkVKLHVCaEJ4SmtCLEVBQUE7RWdCa0NsQztJQTJIZ0IsWVhqRkU7SVdrRkYsdUJoQjlKa0IsRUFBQTtFZ0JrQ2xDO0lBb0lZLFlYdERHO0lXdURILGlDaEJyTjJCO0lnQnNOM0IsZVhxL0RHLEVBQUE7SUU3c0VQO01Ta0ZSO1FBeUlnQixlWG0vREQsRUFBQSxFV2ovRE47RUEzSVQ7SUE4SVEsa0JBQWtCLEVBQUE7SUE5STFCO01BZ0pZLFlYNkdDO01XNUdELGVYaytERztNV2orREgsaUNoQmxPMkIsRUFBQTs7QWdCd092QztFQUNJLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHlCaEJoWmE7RWdCaVpiLGFYczhENkI7RVdyOEQ3QixtQ2hCakprQjtFZ0JpSmxCLDJC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bUIsRUFBQTtJRXJtRm5CO01TbWlDUjtRQVdZLGdCWHd1RGlCO1FXdnVEakIsV0FBVztRQUNYLGlCQUFpQixFQUFBLEVBU3hCO0lUempDRztNU21pQ1I7UUFpQmdCLGdCQUFnQjtRQUVoQixnQlgraURXLEVBQUEsRVc3aURsQjs7QWxCajdCaUI7RWtCdTdCdEIsWVh1aUR1QixFQUFBOztBRXJtRm5CO0VTZ2tDUjtJQUlRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IscUJBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUI7SUFFekIsaUJBQWlCLEVBQUEsRUFnYXhCOztBQXZhRDtFQVdZLGdCWHltQ3dCO0VXeG1DeEIsbUNoQjkrQlU7RWdCOCtCViwyQmhCOStCVSxFQUFBO0VPOUZkO0lTZ2tDUjtNQWNnQixpQkFBaUIsRUFBQSxFQUV4Qjs7QUFoQlQ7RUE2QlkseUJsQi82QnlELEVBQUE7RWtCazVCckU7SUErQmdCLFlYcCtCSTtJV3ErQkosdUJoQmhqQ2tCO0lnQmlqQ2xCLHlCakJwdkNDO0lpQnN2Q0csY2hCcndDSCxFQUFBO0VnQmt1Q2pCO0lBd0NvQixjaEIxd0NIO0lnQjJ3Q0csZ0JYMHREeUIsRUFBQTtFV253RDdDO0lBNENvQixjaEI5d0NILEVBQUE7RWdCa3VDakI7SUFpRG9CLGNoQm54Q0gsRUFBQTtFZ0JrdUNqQjtJQW9Eb0IsY2hCdHhDSCxFQUFBOztBZ0JrdUNqQjtFQTREb0IsWVhqZ0NBO0VXa2dDQSx1QmhCN2tDYztFZ0I4a0NkLGNoQi9xQ04sRUFBQTs7QWdCaW5DZDtFQW1FWSx5QmxCcjlCeUQ7RWtCczlCekQsY2pCdnhDSztFaUJ3eENMLHlCakJ4eENLLEVBQUE7O0FpQm10Q2pCO0VBd0VZLGdCWDJyRGlDO0VXMXJEakMsY2pCNXhDSyxFQUFBOztBaUJtdENqQjtFQThFWSx5QmxCaCtCeUQsRUFBQTtFa0JrNUJyRTtJQWdGZ0IsWVhwaENFO0lXcWhDRix1QmhCam1Da0I7SWdCa21DbEIseUJoQjdyQ0Y7SWdCK3JDTSxjaEJ0ekNILEVBQUE7RWdCa3VDakI7SUF5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QUE7SVZ3RnRCO01VL0pSO1FBeUVvQixnQlp5bEpTO1FZeGxKVCxnQlorOEp1QixFQUFBLEVZNzhKOUI7RUE1RWI7SUErRVksWVprOUpnQztJWWo5SmhDLFdaaTlKZ0M7SVloOUpoQywyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUVmLG1CakJxS29CO0lpQnBLcEIseUJsQjdFQztJa0IrRUwseUJsQi9FSztJa0JnRkwscUJBQXFCO0lBQ3JCLGdDakJvS1U7SWlCcEtWLHdCakJvS1UsRUFBQTtJaUI5UHRCO01BNEZnQix5QmxCaEZDO01rQmlGRCxxQmxCakZDO01rQmtGRCxZWnM4SnNCO01ZcjhKdEIsZ0NqQjhKTTtNaUI5Sk4sd0JqQjhKTSxFQUFBO0lpQjdQdEI7TUFrR2dCLHlCbEJ6RkM7TWtCMEZELHFCbEIxRkMsRUFBQTtFa0JUakI7SUF1R1ksaUJaMjdKZ0UsRUFBQTtFWWxpSzVFO0lBMEdZLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUliLFFBQVEsRUFBQTtJVmdEWjtNVS9KUjtRQWlIZ0IsdUJaKzdKd0I7WVkvN0p4QixvQlorN0p3QjtnQlkvN0p4QiwyQlorN0p3QixFQUFBLEVZNzdKL0I7O0FBbkhUO0VBdUhRLFNaeXhKYTtFWXh4SmIsVVoweEpJLEVBQUE7RUVudkpKO0lVL0pSO01BMEhZLFVaeXhKQSxFQUFBLEVZendKUDtFQTFJTDtJQTZIWSxjakJ4R3FCO0lpQnlHckIsb0JSekRvRDtJUTBEcEQsZ0JaMGtKa0I7SVl6a0psQixvQlp1a0oyQixFQUFBOztBWXZzSnZDO0VBNklZLGdCQUF3RCxFQUFBO0VBN0lwRTtJQStJZ0IsY2xCdElDO0lrQnVJRCxvQlIzRWdELEVBQUE7SVFyRWhFO01BcUpvQixjakJySkgsRUFBQTtNaUJBakI7UUF1SndCLGNqQmxJUyxFQUFBO0lpQnJCakM7TUEySm9CLGNqQi9J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Nk5nQixjakJ0cEJDLEVBQUE7O0FpQnliakI7RUFnT2dCLGNsQmhwQkMsRUFBQTs7QWtCc3BCakI7RUFDSSxtQkFBTztNQUFQLFdBQU87VUFBUCxPQUFPO0VBQ1AsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTtFQUZaO0lBSVEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0Qlp3cklTO0lZeHJJVCw2Qlp3cklTO1FZeHJJVCwwQlp3cklTO1lZeHJJVCxzQlp3cklTO0lZdnJJVCxtQkFBZTtRQUFmLGVBQWU7SUFDZixTWmtySU8sRUFBQTtJRXpySlA7TVVnZ0JSO1FBU1ksOEJacXJJRTtRWXJySUYsNkJacXJJRTtZWXJySUYsdUJacXJJRTtnQllycklGLG1CWnFySUU7UVlwcklGLFNaZ3JJRyxFQUFBLEVZdG5JVjtJQXBFTDtNQWFZLGdCWnMvSGlCO01Zci9IakIsY2xCcHFCSztNa0JxcUJMLGFab2dJZ0I7TVluZ0loQixnQlpvZ0ltQixFQUFBO0lZcGhJL0I7TUFzQlksVUFBVTtNQUNWLGdCWm1ySTZCO01ZbHJJN0IsY2xCOXFCSztNa0IrcUJMLG9CUm5uQm9EO01Rb25CcEQsZ0JaMC9IbUIsRUFBQTtJWXBoSS9CO01BZ0NZLGNqQi9yQkssRUFBQTtNTzBKVDtRVXFnQlI7VUF1Q3dCLGtCQUFrQixFQUFBLEVBQ3JCO01WeGlCYjtRVWdnQlI7VUEyQ29CLFVBQVUsRUFBQSxFQUVqQjtJQTdDYjtNQTZEWSxtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWSxFQUFBOztBQVd4QjtFQUNJLGVabzJIVztFWW4ySFgsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QlpxM0hhO0VZcjNIYiw2QlpxM0hhO01ZcjNIYiwwQlpxM0hhO1VZcjNIYixzQlpxM0hhO0VZOTJIYixTWmkySFE7RVkvMUhKLFVabTJISTtFWWoySFIsNEJabzZIMkI7TVlwNkgzQixpQlpvNkgyQjtVWXA2SDNCLFFabzZIMkIsRUFBQTtFRTEvSXZCO0lVd2tCUjtNQWdCUSxjWnMxSE07TVkxMEhGLFNaZzFIQTtNWTcwSEEsVVppMUhBLEVBQUEsRVk3eUhYO0VBbkVEO0lBb0NRLHVCWjI0SHVDO1FZMzRIdkMsb0JaMjRIdUM7WVkzNEh2QywyQloyNEh1QyxFQUFBO0lZLzZIL0M7TUFzQ1ksdUJaeTRIbUM7VVl6NEhuQyxvQlp5NEhtQztjWXo0SG5DLDJCWnk0SG1DLEVBQUE7RVkvNkgvQztJQTJDUSw0Qlp3MEhXO1FZeDBIWCxpQlp3MEhXO1lZeDBIWCxRWncwSFcsRUFBQTtFWW4zSG5CO0lBK0NRLDRCWnEwSFc7UVlyMEhYLGlCWnEwSFc7WVlyMEhYLFFacTBIVyxFQUFBO0VZcDNIbkI7SUFvRFksNEJaaTBIQztRWWowSEQsaUJaaTBIQztZWWowSEQsUVppMEhDLEVBQUE7O0FZL3lIYjtFQUtRLGdCWnE3SFc7RVlwN0hYLGNsQjF5QlM7RWtCMnlCVCxvQlIvdUJ3RDtFUWd2QnhELGdCWjgzSHVCO0VZNzNIdkIsY0FBYztFQUNkLG9CWiszSDJCLEVBQUE7RUV2aEozQjtJVThvQlI7TUFZWSxnQlp5MkhpQixFQUFBLEVZdjJIeEI7O0FBR0w7RUFDSSxVWjY2SFU7RVl6NkhWLGdCWms3SGUsRUFBQTtFRTNsSlg7SVVvcUJSO01BT1EsVVp3NkhPLEVBQUEsRVk3NUhkO0VWanJCTztJVStwQlI7TUFnQlEsZ0JadzZIVyxFQUFBLEVZdDZIbEI7O0FBRUQ7RUFDSSxnQloyNkhlLEVBQUE7RUUvbEpYO0lVbXJCUjtNQUdRLGdCWjA2SFcsRUFBQSxFWS8zSGxCO0VBOUNEO0lBT1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QlpnNkhTO0lZaDZIVCw2QlpnNkhTO1FZaDZIVCwwQlpnNkhTO1lZaDZIVCxzQlpnNkhTLEVBQUE7SVl4NkhqQjtNQWVZLGdCWmk2SE8sRUFBQTtNWWg3SG5CO1FBaUJnQiw2QmpCejJCSyxFQUFBO01PcUtiO1FVbXJCUjtVQW9CZ0IsZ0JaNjVIRyxFQUFBLEVZcjRIVjtNQTVDVDtRQXVCZ0IsZVpzMEhDO1FZcjBIRCwrQmpCNzJCQztRaUI4MkJELGVSdHlCZ0QsRUFBQTtRRjBGeEQ7VVVtckJSO1lBMkJvQixVWm0wSFIsRUFBQSxFWW56SEM7UUEzQ2I7VUE4Qm9CLGNqQm4zQkgsRUFBQTtRaUJxMUJqQjtVQWlDb0IsY2xCdjJCSCxFQUFBOztBa0JzM0JqQjtFQUNJLFdBQVc7RUFDWCxjQUFjO0VBQ2Qsa0JadTRIb0M7RVl0NEhwQyx5QmxCNzNCYTtFa0I4M0JiLGNqQjE0QmE7RWlCMjRCYixrQkFBa0I7RUFDbEIsbUJScDBCNEQ7RVFxMEI1RCxnQlp5NEhrQztFWXg0SGxDLGdCbkJ6NEJpQjtFbUIwNEJqQixxRGpCOW9Ca0I7RWlCOG9CbEIsNkNqQjlvQmtCLEVBQUE7RU9wR2Q7SVV3dUJSO01BWVEsMEJBQWtCO01BQWxCLHVCQUFrQjtNQUFsQixrQkFBa0IsRUFBQSxFQVN6QjtFQXJCRDtJQWVRLHlCbEJyNEJTO0lrQnM0QlQseUNqQnJwQmM7SWlCcXBCZCxpQ2pCcnBCYyxFQUFBO0VpQnFvQnRCO0lBbUJRLHlCakJsMkIyQyxFQUFBOztBaUJzMkJuRDtFQVdZLGFBQWEsRUFBQTs7QUFYekI7RUFjWSxjQUFjLEVBQUE7RVZ4d0JsQjtJVTB2QlI7TUFnQmdCLGdCQUFnQixFQUFBLEVBRXZCOztBQWxCVDtFQXFCUSxhQUFhLEVBQUE7O0FBSXJCO0VUbmxCSSxxQ0FBZ0M7RUF1QjVCLFdIazdJTztFR2w2SVgsb0JTNmlCMFg7RVQ3aUIxWCxvQlM2aUIwWDtFVDdpQjFYLGFTNmlCMFg7RVQzaUJ0WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlQzWWE7RVM0WWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkgrNElzQztFRzk0SXRDLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVDFaUztFUzhaYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVEwUWQ7Ozs7Ozs7O1Nac3lRQyxFWTl4UUM7RURqWEY7SVVteEJSO01UN2ZRLDBCSG8zSWM7TUdwM0lkLHVCSG8zSWM7TUdwM0lkLGtCSG8zSWM7TUduM0lkLDRDQUFrRSxFQUFBLEVTOGZ6RTtFVHpmRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUbGJLO01Tb2JELHFCVHBiQztNU3diTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RME1OO1FBQ0MsY1IzY0E7UVE0Y0EsOEJSNU1LO1FRNE1MLHNCUjVNSyxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUM2NXO0lTNmNQLHFCVDdjTztJU2lkWCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7SVFnT1Y7TUFDQyxjUmplSSxFQUFBO0VRcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VRaVI3QztJQUNJLFlIek5GO0lHME5FLGtCSG94SVU7SUdueElWLGlDUjFYMkI7SVEyWDNCLGVIcXhJRTtJR2h4SUYsY1JwaUJLO0lRcWlCTCw4QlJwU1U7SVFvU1Ysc0JScFNVLEVBQUE7RVF1U2xCO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBaUJ3ckJ0QjtFQUNJLGdCWjA0SGUsRUFBQTtFRWxxSlg7SVV1eEJSO01BR1EsZ0JaeTRIVyxFQUFBLEVZM3dIbEI7RUFqSUQ7SUFZUSxnQlpxeUhXO0lZcHlIWCxjbEIxN0JTO0lrQjI3QlQsb0JSLzNCd0Q7SVFnNEJ4RCxnQlo4dUh1QjtJWTd1SHZCLGNBQWM7SUFD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SztNU2tkVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RW9CdFF0QjtJWjZsQkksb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0lBQ25CO01BQ0ksWUg5UlU7TUcrUlYsaUNSemIrQjtNUTBiL0IsZUg0TlE7TUcxTkosY1I3bEJLO01RaW1CVCxzRFJuV2M7TVFtV2QsOENSbldjO01RbVdkLHNDUm5XYztNUW1XZCw4RFJuV2MsRUFBQTtJUXNXZDtNQUdRLGNUOWxCQztNU2ttQkwsZ0NBQXdCO2NBQXhCLHdCQUF3QjtNQUN4QixzRFIvV1U7TVErV1YsOENSL1dVO01RK1dWLHNDUi9XVTtNUStXViw4RFIvV1UsRUFBQTtJUW1YZDtNQUNJLGNUcm1CSztNU3NtQkwsOENSclhVO01RcVhWLHNDUnJYVSxFQUFBO0VvQnJRdEI7SVowa0VJLHlCVnJ2RGlFO0lVc3ZEakUseUJSLzhEVTtJUWk5RE4sZ0JWbmtFYSxFQUFBO0lVc2tFYjtNQUNJLFlIcHlERCxFQUFPO0lHd3lEVjtNQUNJLGNSMTlERSxFQUFBO0lRKzlETjtNQUNJLFlIL3lERDtNR2d6REMsY1JqK0RFLEVBQUE7SVFvK0RWO01BQ0ksY1JyK0RNLEVBQUE7RW9CNUhkO0laMGtFSSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VvQjVIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZdVdrTDtJWnZWdEwsb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUi9SVTtJUWdTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllzVWlLO0laclVqSyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXdTZ007UVp2U2hNLHNEQUFrRSxFQUFBLEVZd1NqRTtJWm5TTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSMVVFO1FRNFVFLHFCUjVVRjtRUWdWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJIbVo4RDtNRy9ZMUQscUJIK1kwRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVpxbUVJLHlCVmh4RGlFO0lVaXhEakUseUJSaC9EVTtJUWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNSMy9ERSxFQUFBO0lRZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY1JsZ0VFLEVBQUE7SVFxZ0VWO01BQ0ksY1J0Z0VNLEVBQUE7RW9CdEhkO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZcVhrTDtJWnJXdEwsb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUi9SVTtJUWdTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllvVmlLO0lablZqSyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXNUZ007UVpyVGhNLHNEQUFrRSxFQUFBLEVZc1RqRTtJWmpUTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSMVVFO1FRNFVFLHFCUjVVRjtRUWdWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJIbVo4RDtNRy9ZMUQscUJIK1kwRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVpxbUVJLHlCVmh4RGlFO0lVaXhEakUseUJSaC9EVTtJUWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNSMy9ERSxFQUFBO0lRZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY1JsZ0VFLEVBQUE7SVFxZ0VWO01BQ0ksY1J0Z0VNLEVBQUE7RW9CdEhkO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZb1lzTTtJWnBYMU0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVDFZYTtJUzJZYix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQlltV3FMO0labFdyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXFVb047UVpwVXBOLHNEQUFrRSxFQUFBLEVZcVVqRTtJWmhVTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdFZFO1FRd1ZFLHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJIbVo4RDtNRy9ZMUQscUJIK1kwRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVpnb0VJLHlCVjN5RGlFO0lVNHlEakUseUJSamhFVTtJUW1oRU4sZ0JWem5FYSxFQUFBO0lVNG5FWjtNQUNHLFlINTFEQyxFQUFPO0lHZzJEWjtNQUNJLGNSNWhFRSxFQUFBO0lRaWlFTjtNQUNJLFlIdjJEQztNR3cyREQsY1JuaUVFLEVBQUE7SVFzaUVWO01BQ0ksY1J2aUVNLEVBQUE7RW9CaEhkO0laZ29FSSx5QlYzeURpRTtJVTR5RGpFLHlCUmpoRVU7SVFtaEVOLGdCVnpuRWEsRUFBQTtJVTRuRVo7TUFDRyxZSDUxREMsRUFBTztJR2cyRFo7TUFDSSxjUjVoRUUsRUFBQTtJUWlpRU47TUFDSSxZSHYyREM7TUd3MkRELGNSbmlFRSxFQUFBO0lRc2lFVjtNQUNJLGNSdmlFTSxFQUFBO0VvQmhIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZaVpzTTtJWmpZMU0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVDFZYTtJUzJZYix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllnWHFMO0laL1dyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWWtWb047UVpqVnBOLHNEQUFrRSxFQUFBLEVZa1ZqRTtJWjdVTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdFZFO1FRd1ZFLHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJIbVo4RDtNRy9ZMUQscUJIK1kwRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SUF1eEJZLGtCQUFrQixFQUFBO0liaG5CdEI7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QUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1QxWWE7SVMyWWIseUJSdlphO0lRd1piLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWtjMEk7SVpqYzFJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZb2FxSjtRWm5hckosc0RBQWtFLEVBQUEsRVlvYWpFO0laL1pMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ4Ym9CO1FRMGJoQixxQlJoY0M7UVFvY0wscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVDVjUztNU2dkTCxxQlRoZEs7TVNrZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBOztBb0JpbUJ0QjtFQUNJLFdBQVc7RUFFWCxZZnpCVztFZTBCWCx5QnRCdGhCaUUsRUFBQTtFUzlLN0Q7SWFnc0JSO01BTVEsc0JmM0JpQixFQUFBLEVlcUZ4QjtFQWhFRDtJQVdRLGVBQWU7SUFDZixXZmhQUTtJZWlQUixpQmY3T1csRUFBQTtJRWhlWDtNYWdzQlI7UUFl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QixnREFBK0QsRUFBQTtFZDFDM0U7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VBM0ViO0lBMkZ3QixpQmhCdTlEUDtJZ0JyOURXLGtCaEJxOURYLEVBQUE7RUU5Z0VUO0ljcENSO01BNkc0QixpQmhCeE9QO01nQjBPVyxrQmhCMU9YLEVBQUEsRWdCNE9JO0VBakh6QjtJQTJGd0IsZ0JoQnc5RFI7SWdCdDlEWSxpQmhCczlEWixFQUFBO0VFL2dFUjtJY3BDUjtNQTZHNEIsZ0JoQmc5RFo7TWdCOThEZ0IsaUJoQjg4RGhCLEVBQUEsRWdCNThEUztFQWpIekI7SUEyRndCLGdCaEJ5OURSO0lnQnY5RFksaUJoQnU5RFosRUFBQTtFRWhoRVI7SWNwQ1I7TUE2RzRCLGdCaEJpOURaO01nQi84RGdCLGlCaEIrOERoQixFQUFBLEVnQjc4RFM7RUFqSHpCO0lBMkZ3QixnQmhCMDlEUjtJZ0J4OURZLGlCaEJ3OURaLEVBQUE7RUVqaEVSO0ljcENSO01BNkc0QixnQmhCazlEWjtNZ0JoOURnQixpQmhCZzlEaEIsRUFBQSxFZ0I5OERTO0VBakh6QjtJQTJGd0IsZ0JoQjI5RFI7SWdCejlEWSxpQmhCeTlEWixFQUFBO0VFbGhFUjtJY3BDUjtNQTZHNEIsZ0JoQm05RFo7TWdCajlEZ0IsaUJoQmk5RGhCLEVBQUEsRWdCLzhEUztFQWpIekI7SUEyRndCLGdCaEI0OURSO0lnQjE5RFksaUJoQjA5RFosRUFBQTtFRW5oRVI7SWNwQ1I7TUE2RzRCLGdCaEJvOURaO01nQmw5RGdCLGlCaEJrOURoQixFQUFBLEVnQmg5RFM7RUFqSHpCO0lBMkZ3QixnQmhCNjlEUjtJZ0IzOURZLGlCaEIyOURaLEVBQUE7RUVwaEVSO0ljcENSO01BNkc0QixnQmhCcTlEWjtNZ0JuOURnQixpQmhCbTlEaEIsRUFBQSxFZ0JqOURTO0VBakh6QjtJQTJGd0IsZ0JoQjg5RFI7SWdCNTlEWSxpQmhCNDlEWixFQUFBO0VFcmhFUjtJY3BDUjtNQTZHNEIsZ0JoQnM5RFo7TWdCcDlEZ0IsaUJoQm85RGhCLEVBQUEsRWdCbDlEUztFQWpIekI7SUF1SWdCLHlCdEJ6UEM7SXNCMFBELDZCckJ6UUs7SXFCMFFMLDREckJOTTtJcUJNTixvRHJCTk0sRUFBQTtJcUJuSXRCO01BNkl3QixjckIzUVA7TXFCNFFPLDhCckJYRjtNcUJXRSxzQnJCWEYsRUFBQTtJcUJuSXRCO01Ba0pvQix5QnJCaFJIO01xQmlSRyxxQnRCclFIO01zQnNRRyw0RHJCbEJFO01xQmtCRixvRHJCbEJFLEVBQUE7TXFCbEl0QjtRQXVKNEIsY3RCelFYO1FzQjBRVyw4QnJCdEJOO1FxQnNCTSxzQnJCdEJOLEVBQUE7RXFCbEl0QjtJQStLZ0IsZ0J2QnhTSztJdUIwU1Q7OzthekJ3aFZDO0l5QnBoVkQsZ0JBQWdCO0lBRVosZ0NyQnBETTtJcUJvRE4sd0JyQnBETSxFQUFBO0VxQm5JdEI7SUFrTW9CLFloQmkyRGU7SWdCaDJEZixnQ3JCakVFO0lxQmlFRix3QnJCakVFLEVBQUE7RU9uR2Q7SWMvQlI7TUFzTmdCLHlCQUE2QjtVQUE3Qiw2QkFBNkIsRUFBQTtJQXRON0M7TUF5TmdCLFdBQVcsRUFBQSxFQUNkOztBQU1iO0VBRVEsK0JBQXdFLEVBQUE7RWRuTXhFO0ljaU1SO01BS1ksK0JBQXlFLEVBQUEsRUFTaEY7RWQxTUc7SWM0TFI7TUFRWSwrQkFBd0UsRUFBQSxFQU0vRTtFQWRMO0lBWVksWUFBWSxFQUFBOztBQU94QjtFQzlWTSx3QkFBNkQ7RUFBN0QseUJBQTZEO0VEaVczRCxtQkFBbUIsRUFBQTs7QWJrNkNQO0VBQ0ksV0FBVyxFQUFBOztBRHJuRDNCO0VDdW5EWTtJQUVRLFdBQVcsRUFBQSxFQUVsQjs7QUQzbkRiO0VDa29EQTtJQUVRLG9CQUFvQixFQUFBLEVBRTNCOztBRHRvREQ7RUN3b0RJO0lBRVEsY0FBbUM7SUFDbkMsb0JBQW9CLEVBQUEsRUFFM0I7O0FEN29ETDtFQzhvREk7SUFFUSxjQUFtQyxFQUFBLEVBRzFDOztBRG5wREw7RUNvcERJO0lBRVEsY0FBbUMsRUFBQSxFQUcxQzs7QUR6cERMO0VDMHBESTtJQUVRLGNBQW1DLEVBQUEsRUFHMUM7O0FEL3BETDtFQ2dxREk7SUFFUSxjQUFtQyxFQUFBLEVBRzFDOztBRHJxREw7RUN3cURBO0lBRVEsY0FBbUMsRUFBQSxFQUcxQzs7QUQ3cUREO0VDOHFEQTtJQUVRLHVCQUF1QixFQUFBLEVBRzlCOztBRG5yREQ7RUNvckRBO0lBRVEsY0FBbUMsRUFBQSxFQUcxQzs7QUR6ckREO0VDMHJEQTtJQUVRLHVCQUF1QixFQUFBLEVBRzlCOztBQTlLTDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsb0JBQW9CLEVBQUE7RURyaERwQjtJQ2loREo7TUFNUSx1QkFBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQjtNQUMzQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFua0JlO0VBQ0ksYUFBYSxFQUFBOztBQUl6QjtFQUdJLGFIby9CRDtFR24vQkMsV0FBVyxFQUFBO0VBQ1g7SUFDSSw0RFIxM0JpQztZUTAzQmpDLG9EUjEzQmlDO0lRMjNCakMsMkNScjRCRTtJUXE0QkYsbUNScjRCRTtJUXE0QkYsMkJScjRCRTtJUXE0QkYsb0RScjRCRSxFQUFBO0VPbkdkO0lDaStCSTtNQVVRLFlIOCtCTCxFQUFBLEVHMThCRjtFRDFnQ0w7SUM0OUJJO01BYVEsYUFBYTtNQUViLHdEQUF3RDtNQUN4RCxnQkFBZ0I7TUFDaEIsbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVk7TUFDWixZSHUrQk4sRUFBQSxFRzM4QkQ7RUExQkc7SUFDSSwwQkFBaUI7UUFBakIsaUJBQWlCLEVBQUE7RUE4aUJqQztJQUNJLGlCSHlhUyxFQUFBO0VHbjlCRztJQUNJLGNBQWM7SUFDZCxpQkFBaUIsRUFBQTtFQTBsQnJDO0lBQ0ksY0FBYztJQUNkLGdCQUFnQixFQUFBO0VBeGxCUjtJQUNJLFNBQVMsRUFBQTtFQXdpQnpCO0lBQ0ksY0FBYztJQUNkLGlCQUFpQixFQUFBO0VBS3JCO0lBR0ksdUJBQTJCO1FBQTNCLG9CQUEyQjtZQUEzQiwyQkFBMkI7SUFDM0IsU0FBUyxFQUFBO0lEaGpEVDtNQzRpREo7UUFjUSx3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUIsRUFBQSxFQVE5QjtJQUhHO01BQ0ksU0FBUyxFQUFBO0VBL2pCTDtJQUNJLGlCSHU4Qkg7SUd0OEJHLGdCQUFnQjtJQUNoQixvQkhxOEJIO0lHcDhCRyxlQUFlLEVBQUE7RUFnbUIvQjtJQUNJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUR2bURuQjtNQ3FtREo7UUFJUSx3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUIsRUFBQSxFQUU5QjtFQXJDRDtJQUNJLGFBQWEsRUFBQTtJRHZrRGI7TUNza0RKO1FBR1EsWUFBWSxFQUFBLEVBRW5CO0VBQ0Q7SUFDSSxZQUFZLEVBQUE7RUFZaEI7SUFDSSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUQzbERqQjtNQ3lsREo7UUFJUSxVQUFVO1FBQ1Ysb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYixzQkFDSjtZQURJLG1CQUNKO2dCQURJLHFCQUNKLEVBQUEsRUFDSDs7QUFtQmU7RUFDSSxXQUFXLEVBQUE7O0FEcm5EM0I7RUN1bkRZO0lBRVEsV0FBVyxFQUFBLEVBRWxCOztBRDNuRGI7RUNrb0RBO0lBRVEsb0JBQW9CLEVBQUEsRUFFM0I7O0FEdG9ERDtFQ3dvREk7SUFFUSxjQUFzQztJQUN0QyxvQkFBb0IsRUFBQSxFQUUzQjs7QUQ3b0RMO0VDOG9ESTtJQUVRLGNBQXNDLEVBQUEsRUFHN0M7O0FEbnBETDtFQ29wREk7SUFFUSxjQUFzQyxFQUFBLEVBRzdDOztBRHpwREw7RUMwcERJO0lBRVEsY0FBc0MsRUFBQSxFQUc3Qzs7QUQvcERMO0VDZ3FESTtJQUVRLGNBQXNDLEVBQUEsRUFHN0M7O0FEcnFETDtFQ3dxREE7SUFFUSxjQUFzQyxFQUFBLEVBRzdDOztBRDdxREQ7RUM4cURBO0lBRVEsdUJBQXVCLEVBQUEsRUFHOUI7O0FEbnJERDtFQ29yREE7SUFFUSxjQUFzQyxFQUFBLEVBRzdDOztBRHpyREQ7RUMwckRBO0lBRVEsdUJBQXVCLEVBQUEsRUFHOUI7O0FBOUtMO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixvQkFBb0IsRUFBQTtFRHJoRHBCO0lDaWhESjtNQU1RLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCO01BQzNCLGdCQUFnQixFQUFBLEVBRXZCOztBQXJnQlc7RUFDSSxhQUFhLEVBQUE7O0FBSXpCO0VBR0ksV0FBVyxFQUFBO0VEbGlDZjtJQytoQ0E7TUFLUSxZSHE3QkQsRUFBQSxFR240Qk47RURqbENEO0lDMGhDQTtNQVFRLGFBQWE7TUFFYix3REFBd0Q7TUFDeEQsZ0JBQWdCO01BQ2hCLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZLEVBQUEsRUEyQ25CO0VBekNHO0lBQ0ksMEJBQWlCO1FBQWpCLGlCQUFpQixFQUFBO0VBc2Y3QjtJQUNJLGlCSHlhUyxFQUFBO0VHMzVCRDtJQUNJLGNBQWM7SUFDZCxpQkFBaUIsRUFBQTtFQWtpQmpDO0lBQ0ksY0FBYztJQUNkLGdCQUFnQixFQUFBO0VBaGlCWjtJQUNJLFNBQVMsRUFBQTtFQWdmckI7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7RUEvZWI7SUFDSSxnQkFBZ0IsRUFBQTtFQW1mNUI7SUFHSSx1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQixTQUFTLEVBQUE7SURoakRUO01DNGlESjtRQWNRLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QixFQUFBLEVBUTlCO0lBSEc7TUFDSSxTQUFTLEVBQUE7RUFwZ0JUO0lBQ0ksbUJINDRCQztJRzM0QkQsa0JIMjRCQztJRzE0QkQsZ0JBQWdCLEVBQUE7RUFFcEI7SUFDSSxtQkh1NEJDO0lHdDRCRCxrQkhzNEJDLEVBQUE7SUdyNEJEO01BQ0ksZ0JBQWdCO01BQ2hCLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7RUFrbUJ2QztJQTlsQlEsZ0JBQWdCO0lBQ2hCLGVIODNCQztJRzczQkQsZ0JBQWdCLEVBQUE7RUF5aEI1QjtJQUNJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUR2bURuQjtNQ3FtREo7UUFJUSx3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUIsRUFBQSxFQUU5QjtFQStFRztJQWhHQSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SUQzbERqQjtNQzByREE7UUE3RkksVUFBVTtRQUNWLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhO1FBQ2Isc0JBQ0o7WUFESSxtQkFDSjtnQkFESSxxQkFDSixFQUFBLEVBQ0g7RUFpQ0c7SUEzREEsYUFBYSxFQUFBO0lEdmtEYjtNQ2tvREE7UUF6REksWUFBWSxFQUFBLEVBRW5CO0VBQ0Q7SUFDSSxZQUFZLEVBQUE7O0FBdGZSO0VBQ0ksaUJIazNCVTtFR2ozQlYsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTs7QUFHaEI7RUFDSSxTQUFTLEVBQUE7O0FBdWhCRDtFQUNJLFdBQVcsRUFBQTs7QURybkQzQjtFQ3VuRFk7SUFFUSxXQUFXLEVBQUEsRUFFbEI7O0FEM25EYjtFQ2tvREE7SUFFUSxvQkFBb0IsRUFBQSxFQUUzQjs7QUR0b0REO0VDd29ESTtJQUVRLGNBQXNDO0lBQ3RDLG9CQUFvQixFQUFBLEVBRTNCOztBRDdvREw7RUM4b0RJO0lBRVEsY0FBc0MsRUFBQSxFQUc3Qzs7QURucERMO0VDb3BESTtJQUVRLGNBQXNDLEVBQUEsRUFHN0M7O0FEenBETDtFQzBwREk7SUFFUSxjQUFzQyxFQUFBLEVBRzdDOztBRC9wREw7RUNncURJO0lBRVEsY0FBc0MsRUFBQSxFQUc3Qzs7QURycURMO0VDd3FEQTtJQUVRLGNBQXNDLEVBQUEsRUFHN0M7O0FEN3FERDtFQzhxREE7SUFFUSx1QkFBdUIsRUFBQSxFQUc5Qjs7QURuckREO0VDb3JEQTtJQUVRLGNBQXNDLEVBQUEsRUFHN0M7O0FEenJERDtFQzByREE7SUFFUSx1QkFBdUIsRUFBQSxFQUc5Qjs7QUExbEJHO0VBQ0ksWUFBWSxFQUFBOztBRHRtQ3BCO0VDb21DQTtJQUtRLGFBQWE7SUFDYixnQ0FBZ0MsRUFBQSxFQU12Qzs7QUFIRztFQUNJLGNBQWMsRUFBQTs7QUFLZDtFQUNJLFVBQVUsRUFBQTs7QUFFZDtFQUNJLFlBQVk7RUFDWix1QkFBMkI7TUFBM0Isb0JBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQix1QkFBdUI7RUFDdkIsZ0JBQWdCLEVBQUE7O0FBSTVCO0VBQ0ksWUFBWTtFQUNaLFNBQVMsRUFBQTs7QUFHYjtFQUNJLDJCQUFrQjtNQUFsQixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUt4QjtFQUNJLFdBQVc7RUFDWCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGdDUmhqQ2M7RVFnakNkLHdCUmhqQ2MsRUFBQTtFUWlqQ2Q7SUFDSSxZQUFZO0lBQ1osZ0NScGpDVTtJUW9qQ1Ysd0JScGpDVSxFQUFBOztBUXdqQ2xCO0VBQ0ksWUFBWTtFQUNaLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHVCQUEyQjtNQUEzQixvQkFBMkI7VUFBM0IsMkJBQTJCLEVBQUE7RUFFM0I7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxnQkFBZ0IsRUFBQTtFQUVwQjtJQUNJLFNBQVM7SUFDVCxVQUFVLEVBQUE7O0FBVU47RUFDSSxpQkFBaUIsRUFBQTs7QUFLekI7RUFDSSw2QkhtNEJNO0VHbDRCTix5Q1J4bENNO0VRd2xDTixpQ1J4bENNLEVBQUE7O0FRNmxDVjtFQUNJLDZCSDYzQk8sRUFBQTs7QUd4M0JYO0VBVUkseUJSNzJDQyxFQUFBOztBUXkzQ0w7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUlULHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBS3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBRXZCLGtCSDYwQjhCO0VHdjBCMUIsa0JDbjBDNEM7RURzMEM1QyxnQlQ3ckN3QjtFU2lzQ3hCLDZCSHUwQkk7RUduMEJSLG9CSHl6QjRCO0VHeHpCNUIseUNSdHBDTTtFUXNwQ04saUNSdHBDTSxFQUFBO0VRcW9DTjtJQUNJLFNIMHdCaUI7SUd6d0JqQixrQkhvdUJNLEVBQUE7O0FHMXNCdEI7RUFHSSxZQUFZO0VBQ1osa0JBQWtCO0VBRWxCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBRWxCLGdCVnQ2Q1M7RVV3NkNiLGdCSDZ4Qm9CO0VHbFd4QixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWiwyQ1IxbURrQjtFUTBtRGxCLG1DUjFtRGtCO0VRMG1EbEIsMkJSMW1Ea0I7RVEwbURsQixvRFIxbURrQixFQUFBO0VPL0ZkO0lDZ3dDSjtNQWlCUSxXQUFXLEVBQUEsRUFxSGxCO0VBbkhHO0lBQ0ksbUJIc3JCYztJR3JyQmQsa0JIcXJCYyxFQUFBO0lHbnJCVjtNQUNBLGNBQWMsRUFBQTtFQUl0QjtJQUVJLGVBQWUsRUFBQTtFQUVuQjtJQUNJLG1CSHlxQmM7SUd4cUJkLGtCSHdxQmMsRUFBQTtJR3ZxQmQ7TUFDSSxtQkFBbUIsRUFBQTtFQUczQjtJQUNJLG1CSGtxQmM7SUdqcUJkLGtCSGlxQmMsRUFBQTtFRy9wQmxCO0lBRUksZ0JBQWdCO0lBQ2hCLGtCSDRwQmM7SUczcEJkLGdCSHl2QmdCLEVBQUE7SUd4dkJoQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLHNCSG92Qlk7VUdwdkJaLG1CSG92Qlk7Y0dwdkJaLHFCSG92QlksRUFBQTtJR2x2QmhCO01BQ0ksMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUI7TUFFakIsdUJBQTJCO1VBQTNCLG9CQUEyQjtjQUEzQiwyQkFBMkIsRUFBQTtFQU12QztJQUNJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsdUJIdXdCUztRR3Z3QlQsb0JIdXdCUztZR3Z3QlQsMkJIdXdCUztJR3R3QlQseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsU0FBUztJQUNULG9CSDRuQnFCLEVBQUE7SUVqOER6QjtNQyt6Q0E7UUFRUSx1Qkhrd0JLO1lHbHdCTCxvQkhrd0JLO2dCR2x3QkwsMkJIa3dCSztRR2p3QkwsUUFBUSxFQUFBLEVBRWY7RUFFRDtJQUNJLGdCQUFnQixFQUFBO0VBRXBCO0lBRUksVUhnd0JpQjtJRy92QmpCLG1CSCttQnFCLEVBQUE7RUc1bUJyQjtJQUNJLFlBQVksRUFBQTtFQUtoQjtJQUNJLGNUbC9DQztJU20vQ0QsMEJBQXNFO0lBQ3RFLDhCUmh3Q007SVFnd0NOLHNCUmh3Q00sRUFBQTtFUW93Q1Y7SUFDSSxjVHQvQ0MsRUFBQTtFU2dnRFQ7SUFFSSw2QlJwaERTLEVBQUE7RVFzaERiO0lBQ0ksb0JIa2pCeUI7SUdqakJ6Qix5QlJyaERLLEVBQUE7SVFzaERMO01BQ0ksc0JBQWdGLEVBQUE7SUFFcEY7TUFDSSxjQUFjLEVBQUE7SUFFbEI7TUFHSSxrQkg2a0JVLEVBQUE7TUcxa0JWO1FBQ0ksVUFBVSxFQUFBO0VBZ1Z0QjtJQUNJLDREUjFtRHlDO1lRMG1EekMsb0RSMW1EeUM7SVEybUR6QywyQ1JybkRVO0lRcW5EVixtQ1JybkRVO0lRcW5EViwyQlJybkRVO0lRcW5EVixvRFJybkRVLEVBQUE7O0FReXlDbEI7RUFDSSxXQUFXLEVBQUE7O0FBRWY7RUFFSSxXQUFXO0VBS1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixnQkg2bUJXLEVBQUE7RUVqZ0VYO0lDMDRDSjtNQWVRLFNIeW1CQSxFQUFBLEVHbG1CUDtFQUxHO0lBRUksb0JBQWM7UUFBZCxjQUFjLEVBQUE7O0FBSXRCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsbUJIc2lCa0I7RUdyaUJsQixrQkhxaUJrQixFQUFBO0VHcGlCbEI7SUFDSSxjUnRrREs7SVF1a0RMLGdCSDBwQmtDO0lHenBCbEMsbUJDbmdEb0QsRUFBQTtFRHFnRHhEO0lBQ0ksaUJIcS9EbUU7SUdwL0RuRSxjUjVrREs7SVE2a0RMLG1CQ3hnRG9ELEVBQUE7O0FEMmdENUQ7RUFDSSxpREFBa0Q7RUFDbEQsK0NUdmxENkM7RVN3bEQ3QyxvQkM5Z0R3RDtFRCtnRHhELGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw4QlIxMUNjO0VRMDFDZCxzQlIxMUNjLEVBQUE7RVEyMUNkO0lBRUksd0NBQXdDO0lBQ3hDLDBCQUEwQjtJQUMxQiw4QlJoMkNVO0lRZzJDVixzQlJoMkNVLEVBQUE7O0FRbTZDbEI7RUFDSSxjUjVvRHlCO0VRNm9EekIsb0JDN2xEd0Q7RUQ4bER4RCxnQkh1aUJzQztFR3RpQnRDLGdCSGxwRGlCLEVBQUE7RUdtcERqQjtJQUNJLGNUN3BESztJUzhwREwsMEJBQTBCLEVBQUE7RUFFOUI7SUFDSSxjVDlwREssRUFBQTs7QVNxbERiO0VBQ0ksY1I3a0R5QjtFUThrRHpCLG9CQzloRHdEO0VEK2hEeEQsZ0JINm1CZ0M7RUc1bUJoQyxnQkhubERpQjtFR29sRGpCLG9CSHNtQm9DO0VHcm1CcEMsOEJSejJDYztFUXkyQ2Qsc0JSejJDYyxFQUFBO0VRMDJDZDtJQUNJLFNBQVM7SUFDVCxVQUFVLEVBQUE7O0FBR2xCO0VBQ0ksY1J6bER5QixFQUFBOztBUTRsRHpCO0VBQ0ksU0FBUztFQUNULFVBQVUsRUFBQTs7QUFHbEI7RUFDSSxjUnZuRFM7RVF3bkRULG9CQ25qRHdELEVBQUE7O0FGcUZ4RDtFQzZtQkE7SUFFUSxhQUFhLEVBQUEsRUFPcEI7O0FEdG5CRDtFQ2luQkk7SUFFUSxjQUFjLEVBQUEsRUFFckI7O0FBR1Q7RUFFSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUNaLG1CQ2x0QndELEVBQUE7RURtdEJ4RDtJQUNJLFNBQVM7SUFJTCxnQkh6bUJPLEVBQUE7RUc0bUJmO0lBQ0ksV0FBVztJQUVYLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLDJCQUFxQjtRQUFyQix3QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLGdCSDJpRlc7SUcxaUZYLGdCSHB4QmEsRUFBQTtJR3l4QmI7TUFDSSxtQkFBZTtVQUFmLGVBQWUsRUFBQTtJQUVuQjtNQUNJLGNSL3lCQztNUWd6QkQsZ0JINW5CTyxFQUFBO01HZ29CUDtRQUdJLGlCQUFpQixFQUFBO01BRXJCO1FBQ0ksV0FBVztRQUVYLGtCQUFrQjtRQUNsQixpQkFBaUIsRUFBQTtRRG5xQjdCO1VDK3BCUTtZQU1RLDBCQUFrQjtZQUFsQix1QkFBa0I7WUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7SUFFTDtNQUNJLGNUenpCRztNUzB6QkgsZ0JIanBCTyxFQUFBO01FckJmO1FDb3FCSTtVQUlRLGlCQUFpQixFQUFBLEVBRXhCO0lBRUc7TUFFUSxjUjcwQlA7TVFpMUJHLGdCSDVvQkk7TUc4b0JBLHlCSDVvQlUsRUFBQTtJR3NwQmxCO01BQ0ksY1I5MUJIO01RKzFCRyxnQkgzcUJHO01HNHFCSCxtQkMzeEI0QztNRDZ4QnhDLHlCSGpxQk07TUdvcUJOLDZCQUE2QixFQUFBO0lBOEI3QjtNQUNJLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUE7O0FBUXJDO0VBQ0ksbUJDMTBCb0QsRUFBQTs7QUQ0MEJ4RDtFQUVRLCtDVHg1QnFDLEVBQUE7O0FTKzVCakQ7RUFDSSxTSGs3RVEsRUFBQTtFRy82RVI7SUFDSSxtQkMxMUJvRCxFQUFBOztBRDYxQjVEO0VBQ0ksMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixjUmo1QnlCO0VRazVCekIsa0JDbDJCd0Q7RURtMkJ4RCxnQkhzNkVtQjtFR3I2RW5CLGdCQUFnQjtFQUNoQixtQkFBbUIsRUFBQTs7QUFtdEJ2QjtFQUNJLGdCQUFnQixFQUFBOztBQUVwQjtFQUNJLFNBQVMsRUFBQTs7QUFFYjtFQUNJLHFCQUFxQixFQUFBOztBQUlyQjtFQUNJLGVBQWU7RUFDZixXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLGtCQUFrQixFQUFBO0VBQ2xCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksV0FBVyxFQUFBOztBQUl2QjtFQUNJLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFDbkI7SUFDSSxhQUFhLEVBQUE7O0FhL3hDekI7RUFLWSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBSXZCLFVoQjR0RHFCLEVBQUE7RWdCdHVEakM7SUFZZ0IsYUFBYSxFQUFBOztBQVl6QjtFQUlZLG9CQUFvQjtFQUV4Qix1QmhCaXJEK0I7RWdCaHJEL0IscUJyQm5ab0I7RXFCb1pwQixtQkFBbUI7RUFDbkIscUNyQjdKVTtFcUI2SlYsNkJyQjdKVSxFQUFBO0VxQm9KbEI7SUFXWSxxQnRCcFpDO0lzQnFaRCxxQ3JCaktNO0lxQmlLTiw2QnJCaktNLEVBQUE7O0FxQnlLdEI7RUN0Wk0sc0JBQTZEO0VBQTdELHVCQUE2RDtFRHlaM0QsbUJBQW1CLEVBQUE7O0FBSDNCO0VBTVEsa0JBQWtCLEVBQUE7O0FBTjFCO0VBV1EsWUFBWSxFQUFBOztBQTZCcEI7RUFFUSxTQUFTO0VBQ1QsYWhCbXFGTztFZ0JqcUZILGdCdkJqZFMsRUFBQTtFU3dKYjtJY29UUjtNQVFZLGFoQjJxRkksRUFBQSxFZ0J0cUZYO0VkNVRHO0ljK1NSO01BV1ksYWhCNHBGRyxFQUFBLEVnQjFwRlY7O0FBS0w7RUFDSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFFdEIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVksRUFBQTtFYnczRFo7SUFDSSxtQkhyM0JXO0lHeTNCWCxvQkM3eEV3RDtJRDh4RXhELGdCSDM0Qkc7SUc0NEJILGtCSHA0Qk07SUd3NEJOLGNULzFFUztJU2cyRVQsZ0JIdjFFaUI7SUd3MUVqQiw2QkFBNkIsRUFBQTtJQU83QjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUlqQjtJQUNJLG1CSGg1Qlc7SUdvNUJYLGVDenpFd0Q7SUQwekV4RCxnQkh0NkJHO0lHdTZCSCxrQkgvNUJNO0lHbTZCTixjVDMzRVM7SVM0M0VULGdCSG4zRWlCLEVBQUE7SUcwM0VqQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUdqQjtJQUlJLG1CSDU2Qlc7SUc4NkJQLGVIdDZCRTtJR3c2Qk4sb0JDdDFFd0Q7SUR1MUV4RCxnQkhsOEJHO0lHbThCSCxrQkgzN0JNO0lHKzdCTixjVHI1RVM7SVNzNUVULGdCSGg1RWlCLEVBQUE7SUdvNUVqQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUdqQjtJQUNJLG1CSGw4Qlc7SUdvOEJQLGlCSDU3Qkk7SUc4N0JSLG1CQzcyRXdEO0lEODJFeEQsZ0JIeDlCRztJR3k5Qkgsa0JIajlCTTtJR3E5Qk4sY1QvNkVTO0lTZzdFVCxnQkh2NkVpQixFQUFBO0lHMjZFakI7TUFDSSxhQUFhLEVBQUE7SUFFakI7TUFDSSxTQUFTLEVBQUE7RUFHakI7SUFDSSxtQkh4OUJXO0lHNDlCWCxtQkNwNEV3RDtJRHE0RXhELGdCSDkrQkc7SUcrK0JILGtCSHYrQk07SUcyK0JOLGNSLzhFUztJUWc5RVQsZ0JIOTdFaUIsRUFBQTtJR2s4RWpCO01BQ0ksYUFBYSxFQUFBO0lBRWpCO01BQ0ksU0FBUyxFQUFBO0VBR2pCO0lBQ0ksY0g5K0JNO0lHay9CTixvQkMzNUV3RDtJRDQ1RXhELGdCSHBnQ0c7SUdxZ0NILGtCSDcvQk07SUdpZ0NOLGNSdCtFUztJUXUrRVQsZ0JIcjlFaUIsRUFBQTtJR3k5RWpCO01BQ0ksYUFBYSxFQUFBO0lBRWpCO01BQ0ksU0FBUyxFQUFBO0VBS2pCO0lBQ0ksK0JBQW1EO0lBQ25ELG9CQ2o3RXdEO0lEazdFeEQsZ0JIditCdUI7SUd3K0J2QixnQkh0K0VpQjtJR3Ur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RFM7RXFCeWxEVCw0RHJCNTBDeUM7VXFCNDBDekMsb0RyQjUwQ3lDO0VxQjYwQ3pDLDhEckJ0MUNVO0VxQnMxQ1Ysc0RyQnQxQ1U7RXFCczFDViw4Q3JCdDFDVTtFcUJzMUNWLHVFckJ0MUNVLEVBQUE7RXFCeXhDdEI7SUErRGdCLHFCckJubERDO0lxQm9sREQsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw4RHJCMzFDTTtJcUIyMUNOLHNEckIzMUNNO0lxQjIxQ04sOENyQjMxQ007SXFCMjFDTix1RXJCMzFDTSxFQUFBO0lxQjB4Q3RCO01Bb0VvQixVQUFVLEVBQUE7O0FBcEU5QjtFQWdGZ0IseURyQmoyQ2tDO1VxQmkyQ2xDLGlEckJqMkNrQyxFQUFBOztBcUJpeENsRDtFQW9GZ0IsVUFBVSxFQUFBO0VBcEYxQjtJQXNGb0IsbURBQTBDO1lBQTFDLDJDQUEwQztJQUMxQywwQ3JCajNDRTtJcUJpM0NGLGtDckJqM0NFO0lxQmkzQ0YsMEJyQmozQ0U7SXFCaTNDRixrRHJCajNDRSxFQUFBOztBcUIweEN0QjtFQStGZ0IsZ0J2QnBuREs7RXVCc25EVCwwQ3JCMTNDVTtFcUIwM0NWLGtDckIxM0NVO0VxQjAzQ1YsMEJyQjEzQ1U7RXFCMDNDVixrRHJCMTNDVSxFQUFBOztBcUJ5eEN0QjtFQXVHWSx5QnJCM25ESyxFQUFBO0VxQm9oRGpCO0lBeUdnQix3QkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLHFCdEJ4bkRDLEVBQUE7O0FzQjhnRGpCO0VBaUhZLDREckJqNEN5QztVcUJpNEN6QyxvRHJCajRDeUMsRUFBQTtFcUJneENyRDtJQW1IZ0IseURyQnA0Q2tDO1lxQm80Q2xDLGlEckJwNENrQyxFQUFBOztBcUIyNENsRDtFQU9RLGlCQUFxQztFQUNyQyxzREFBc0QsRUFBQTtFZDEvQ3REO0ljay9DUjtNQVVZLGNBQWMsRUFBQSxFQXFDckI7RUEvQ0w7SUFjZ0IsNkRBQTZELEVBQUE7RUFkN0U7SUFtQmdCLDBEQUEwRCxFQUFBO0lkcmdEbEU7TWNrL0NSO1FBcUJvQixhQUFhO1FBQ2IsMkRBQTJELEVBQUEsRUFFbEU7RUF4QmI7SUE0QmdCLDBEQUEwRCxFQUFBO0VBNUIxRTtJQWlDZ0IsMERBQTBELEVBQUE7SWRuaERsRTtNY2svQ1I7UUFtQ29CLGFBQWE7UUFDYiw0REFBNEQsRUFBQSxFQUVuRTtFQXRDYjtJQXlDWSxtQkF0Q1c7SUF1Q1gsa0JBdkNXLEVBQUE7SWRyL0NmO01jay9DUjtRQTRDZ0IsbUJBQThELEVBQUEsRUFFckU7O0FBTVQ7RUFDSSx3RUFBcUIsRUFBQTtFQUR6QjtJQUdRLHVDQUF1QyxFQUFBOztBRWp1RC9DOzs7OztDM0J5aFpDO0EyQmxoWkQ7RUFFUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix1QkFBMkI7TUFBM0Isb0JBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0IsRUFBQTtFQU4xQjtJQVFZLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxrQkFBa0I7SUFJbEIsbUJkd0VvRDtJY3ZFcEQsZ0JBQWdCLEVBQUE7SUFoQjVCO01Ba0JnQixtQkFBbUIsRUFBQTtFQWxCbkM7SUFzQlksV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlLEVBQUE7RUF4QjNCO0lBMkJZLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLGtCbEJpMUd1QjtJa0JoMUd2QixtQmR5RG9EO0ljeERwRCxnQkFBZ0IsRUFBQTs7QUEvQjVCO0VBbUNRLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQXJDM0I7SUEwQ29CLHFCQUFxQixFQUFBO0VBMUN6QztJQThDZ0IscUJBQXFCLEVBQUE7RUE5Q3JDO0lBa0RnQixpQkFBaUI7SUFDakIsa0JsQjJ6R21CO0lrQjF6R25CLG1CZG1DZ0Q7SWNsQ2hELGdCbEIreUdZO0lrQjl5R1osY3ZCcENDLEVBQUE7SXVCbEJqQjtNQXdEb0Isa0JsQnV6R29CLEVBQUE7RWtCLzJHeEM7SUE4RGdCLG1CZHlCZ0Q7SWN4QmhELGdCbEI2eUdpQjtJa0I1eUdqQixrQmxCOHlHbUIsRUFBQTs7QWtCOTJHbkM7RUF5RWdCLHFCQUFxQjtFQUVyQixpQ3ZCd0d1QjtFdUJ2R3ZCLGtCQUFrQixFQUFBOztBQTVFbEM7RUFxRlksWWxCd1FEO0VrQnZRQyxjeEJ6RE87RXdCMERQLGVsQit3RzRCLEVBQUE7O0FrQnQyR3hDO0VBMEZZLGN4QjdETyxFQUFBOztBd0I3Qm5CO0VBaUdZLFlsQjJQRDtFa0IxUEMsY3ZCUHFDO0V1QlFyQyxlbEJtd0c0QixFQUFBOztBa0J0Mkd4QztFQXNHWSxjdkJYcUMsRUFBQTs7QXVCM0ZqRDtFQXlHWSxjeEI5RUssRUFBQTs7QXdCM0JqQjtFQStHWSxZbEI0T0Q7RWtCM09DLGN6QitPeUQ7RXlCOU96RCxlbEJxdkc0QixFQUFBOztBa0J0Mkd4QztFQW9IWSxjekIyT3lELEVBQUE7O0F5Qi9WckU7RUEySGdCLGN4QjdGQyxFQUFBOztBd0I5QmpCO0VBZ0lnQixjeEJyR0MsRUFBQTs7QXdCM0JqQjtFQXFJZ0IsWWxCeU5hO0VrQnhOYixpQkFBaUI7RUFDakIsY3pCd05xRDtFeUJ2TnJELG1DdkI0QzJCO0V1QjNDM0IsZWxCa3ZHd0IsRUFBQTs7QWtCMzNHeEM7RUErSWdCLFlsQmdOZSxFQUFPOztBa0IvVnRDO0VBcUpnQixlQUFlLEVBQUE7O0FBckovQjtFQXdKZ0IsaUN2QjJCdUI7RXVCMUJ2QixjeEI5SEMsRUFBQTs7QXdCM0JqQjtFQThKUSw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTs7QUE5SjNCO0VBaUtRLGdCQUFnQixFQUFBOztBQUl4QjtFQUNJLGN2QnBKYTtFdUJxSmIsbUJkaEY0RDtFY2lGNUQsa0JsQnNzRytCO0VrQnJzRy9CLGdCbEIyckd3QixFQUFBO0VrQi9yRzVCO0lBTVEsWWxCZ01hO0lrQi9MYixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGVsQitzRzRCO0lrQjlzRzVCLHVCdkJrRDBCLEVBQUE7O0F1QjNDbEM7RUFDSSxrQkFBa0IsRUFBQTtFaEJYZDtJZ0JVUjtNQUlRLG9CQUFtQixFQUFBLEVBTTFCO0VBVkQ7SUFPUSxvQkFBb0I7SUFDcEIsb0Jkdkd3RCxFQUFBOztBYzBHaEU7RUFDSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsWUFBWTtFQUNaLGNBQWMsRUFBQTtFaEJ0QlY7SWdCZ0JSO01BUVEsTUFBTTtNQUNOLFNBQVMsRUFBQSxFQUVoQjs7QUFFRDtFQUNJLGVBQWU7RUFDZixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIseUJ2QnJNYSxFQUFBO0VPa0tUO0lnQjZCUjtNQVFRLGVBQWUsRUFBQSxFQWF0QjtFQXJCRDtJZm5CUSxXQUFXO0lBSWYsY0FBYztJQUNkLGtCQVJ3RTtJQVN4RSxlQUFXO0lBQ1gsZ0JBVm1EO0lBV25ELGtCQUFrQjtJQUNsQixjUnJMYTtJUXNMYix5QlQxS2E7SVM0S2IsNkJSM0xpQjtJUTRMakIscUJBQXFCO0lBQ3JCLDRCUnNFa0I7SVF0RWxCLG9CUnNFa0IsRUFBQTtJUXJFbEI7TUFDSSx5QlRoTFM7TVNpTFQsdUNUakxTO01Ta0xULGNUbExTO01TbUxULDRCUmtFYztNUWxFZCxvQlJrRWMsRUFBQTtJUWhFbEI7TUFDSSxhQUFhO01BQ2IseUJSdE1hO01RdU1iLDREUnNFNkM7Y1F0RTdDLG9EUnNFNkMsRUFBQTtFdUIzRXJEO0lBY1EsV0FBVztJQUNYLFlBQVk7SUFDWixjQUFjO0lmeVlsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0llellmLDRCdkJnRGM7SXVCaERkLG9CdkJnRGMsRUFBQTtJUTBWbEI7TUFDSSxZSDlSVTtNRytSVixpQ1J6YitCO01RMGIvQixlSDROUTtNRzFOSixjUjFsQks7TVE4bEJULHNEUm5XYztNUW1XZCw4Q1JuV2M7TVFtV2Qsc0NSbldjO01RbVdkLDhEUm5XYyxFQUFBO0lRc1dkO01BR1EsY1Q5bEJDO01Ta21CTCxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNEUi9XVTtNUStXViw4Q1IvV1U7TVErV1Ysc0NSL1dVO01RK1dWLDhEUi9XVSxFQUFBO0lRbVhkO01BQ0ksY1RybUJLO01Tc21CTCw4Q1JyWFU7TVFxWFYsc0NSclhVLEVBQUE7O0FKczhZdEI7RTJCLytZSSxhQUFhLEVBQUE7O0FDNU9qQjtFQUNJLFdBQVc7RUFDWCxhQUFhO0VBQ2IsU25CK3JIVyxFQUFBO0VFaGhIUDtJaUJsTFI7TUFPUSx1QkFBdUI7TUFDdkIsb0ZBQThHO01BRTlHLFNuQnlySFE7TW1CdnJIUixtQkFBbUIsRUFBQSxFQTZEMUI7RWpCOEdPO0lpQnZMUjtNQWdCUSwyREFBMkQ7TUFDM0QsU25CbXJITyxFQUFBLEVtQjNuSGQ7RUF6RUQ7SUFxQlEsV0FBVztJQUNYLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLFduQitwSFMsRUFBQTtJRWpnSFQ7TWlCdkxSO1FBMkJZLFduQjhwSEssRUFBQSxFbUJ4cEhaO0lBakNMO01BK0JZLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZLEVBQUE7RUEvQnhCO0lBbUNRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLG1CQUFlO1FBQWYsZUFBZTtJQUNmLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixjbkJxcEhZLEVBQUE7SUUxZ0haO01pQmxMUjtRQXlDWSw4QkFBbUI7UUFBbkIsNkJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLDJCQUFxQjtZQUFyQix3QkFBcUI7Z0JBQXJCLHFCQUFxQjtRQUNyQixjbkJrcEhTLEVBQUEsRW1CaG9IaEI7SWpCMEhHO01pQnZMUjtRQThDWSxjbkJncEhRLEVBQUEsRW1Cam9IZjtJQTdETDtNQWtEWSxhQUFhLEVBQUE7SUFsRHpCO01BcURZLFdBQVc7TUFFUCw2QnhCekJnQjtNd0IwQmhCLGdCQUFnQixFQUFBO0VBeERoQztJQWlFWSxjeEJ6Q0s7SXdCMENMLG1CZjJCb0Q7SWUxQnBELGdCbkIwb0Q2QixFQUFBO0ltQjdzRHpDO01BcUVnQixlQUFlLEVBQUE7O0FBTy9CO0VBRVEsU0FBUztFQUNULFVBQVU7RUFDVixjekIvQ1M7RXlCZ0RULGtCZll3RDtFZVh4RCxnQm5CdW9IOEI7RW1CdG9IOUIsaUJuQnVvSCtCO0VtQnRvSC9CLG9CbkJJVSxFQUFBOztBbUJDbEI7RUFDSSxXQUFXLEVBQUE7RWpCd0ZQO0lpQnpGUjtNQUdRLGFBQWE7TUFDYiwyREFBMkQ7TUFDM0QsY25COGxIWSxFQUFBLEVtQnBsSG5CO0VqQjBFTztJaUJ6RlI7TUFRUSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLDhCQUFtQjtNQUFuQiw2QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixjbkIwbEhhLEVBQUEsRW1CcmxIcEI7RWpCK0VPO0lpQjlGUjtNQWFRLGNuQndsSFksRUFBQSxFbUJ0bEhuQjs7QUFHRDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUZ2QjtJaEI2MkJJLGtCQUFrQjtJQUNsQixjSGt6Qlk7SUdqekJaLGlCSHV6QjZCO0lHdHpCN0Isb0JDOTNCNEQ7SUQrM0I1RCxnQkhvekI0QjtJR256QjVCLGNScjhCYSxFQUFBO0lPK0pUO01pQjVFUjtRaEJ1M0JNLGtCQUFrQixFQUFBLEVnQmwzQm5CO0VBTEw7SUFPUSxZQUFZLEVBQUE7SUFQcEI7TUFTWSxnQkFBZ0IsRUFBQTs7QUFPNUI7RUFDSSxtQm5CNmtIaUIsRUFBQTtFRWxoSGI7SWlCNURSO01BR1EsaUJuQjRrSFcsRUFBQSxFbUIzaUhsQjs7QUFFRDtFQUNJLGdCbkI2aUhlO0VtQjVpSGYsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBO0VqQm1CZDtJaUJ0QlI7TUFNUSxjbkJ5aUhTO01tQnhpSFQsbUJBQW1CLEVBQUEsRUFzRTFCO0VBN0VEO0lBVVEsWUFBWSxFQUFBO0lqQllaO01pQnRCUjtRQVlZLFluQmlrSDJCLEVBQUEsRW1CL2pIbEM7RUFkTDtJQWlCUSxZQUFZLEVBQUE7SUFqQnBCO01Bd0JvQix5QnhCcEgrQixFQUFBO0lPa0gzQztNaUJ0QlI7OztRQWdDZ0Isd0JBQWdCO2dCQUFoQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLFlBQVksRUFBQTtRQWxDNUI7OztVQW9Db0IsV0FBVztVQUNYLFlBQVk7VUFDWixrQkFBa0I7VUFDbEIsTUFBTTtVQUNOLFNBQVM7VUFDVCxpQ3hCakJtQjtVd0JrQm5CLGVBQWU7VUFDZixjekIzS0g7VXlCNEtHLHFCQUFxQjtVQUNyQixZQUFZO1VBQ1osU0FBUztVQUNULGVBQWUsRUFBQSxFQUVsQjtJakIzQlQ7TWlCdEJSO1FBdURnQixXQUFXLEVBQUE7UUF2RDNCO1VBMkRvQixXQUFXO1VBQ1gsaUNBQXlCO2tCQUF6Qix5QkFBeUIsRUFBQSxFQUM1QjtJakJ2Q1Q7TWlCdEJSO1FBbUVnQixVQUFVLEVBQUE7UUFuRTFCO1VBdUVvQixVQUFVO1VBQ1Ysa0NBQTBCO2tCQUExQiwwQkFBMEIsRUFBQSxFQUM3Qjs7QUFPakI7RUFHSSxrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsZ0JBQWdCLEVBQUE7RUFQcEI7SUE0QlksVUFBVTtJQUNWLGdDeEJPVTtJd0JQVix3QnhCT1UsRUFBQTtFd0JwQ3RCO0lBaUNRLFVBQVU7SUFDVixnQ3hCR2M7SXdCSGQsd0J4QkdjLEVBQUE7RXdCckN0QjtJaEJ1Z0JJLGtCQUFrQixFQUFBO0lBRWQ7TUFDSSxhQUFhLEVBQUE7SUFHckI7TUFDSSxXQUFXO01BQ1gsZUFUaUQ7TUFVakQsZ0JBVmlEO01BV2pELGtCQUFrQjtNQUNsQixNQUFNO01BQ04sUUFBUTtNQUNSLFNBQVM7TUFDVCxPQUFPO01BQ1AsWUFBWTtNQUNaLGNBQWM7TUFDZCxvQ1JqdkJTO01Ra3ZCVCw4RUFBc0Q7TUFDdEQsNEJBQTRCO01BQzVCLDJCQUEyQjtNQUMzQixvQkF0QjZCO01BdUI3QixxQkFBbUM7TUFDbkMsMENSanZCd0IsRUFBQTtFd0JtTmhDO0lBd0NRLGlCQUFpQjtJQUNqQixjQUFjLEVBQUE7O0FBSXRCO0VBQ0kseUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCx5QjFCb0VpRTtFMEJuRWpFLHFDeEJaa0I7RXdCWWxCLDZCeEJaa0IsRUFBQTtFd0JRdEI7SUFNUSxxQnpCblFTO0l5Qm9RVCxxQ3hCaEJjO0l3QmdCZCw2QnhCaEJjLEVBQUE7RXdCU3RCO0lBV1EsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUIsRUFBQTtFQWJ6QjtJQWlCWSxtQkFBbUIsRUFBQTs7QUFPL0I7RUFDSSxjQUFjO0VBQ2Qsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIseUJBQTZCO01BQTdCLDZCQUE2QjtFQUM3QixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFakJ6SVg7SWlCb0lSO01BT1EsNEJBQVE7VUFBUixpQkFBUTtjQUFSLFFBQVEsRUFBQSxFQXdCZjtFakI5Sk87SWlCK0hSO01BVVEscUJBQXlCO1VBQXpCLGtCQUF5QjtjQUF6Qix5QkFBeUI7TUFDekIsU0FBUyxFQUFBLEVBb0JoQjtFQS9CRDtJQWNRLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7SWpCL0lqQjtNaUIrSFI7UUFrQlksbUJBQTBCO1lBQTFCLDhCQUEwQjtnQkFBMUIsMEJBQTBCO1FBQzFCLGlCQUFpQixFQUFBO1FBbkI3QjtVQXFCZ0IsZUFBZSxFQUFBO1FBckIvQjtVQXdCZ0IsY0FBYyxFQUFBO1FBeEI5QjtVQTJCZ0IsZUFBZSxFQUFBLEVBQ2xCOztBQUliO0VBQ0ksV0FBVztFQUNYLGFBQWE7RUFDYixxQ0FBcUM7RUFDckMsU0FBUztFQUNULGtCQUFrQixFQUFBO0VqQnpLZDtJaUJvS1I7TUFPUSxxQ0FBcUMsRUFBQSxFQU81QztFakI3S087SWlCK0pSO01BVVEscUNBQXFDO01BQ3JDLFFBQVE7TUFDUixtQkFBbUIsRUFBQSxFQUUxQjs7QUFHRDtFQUVRLGtCQUFrQixFQUFBOztBQUcxQjtFQUNJLG1CQUFtQjtFQUNuQixvQmZqUjREO0Vla1I1RCxjeEJ2VmEsRUFBQTtFd0JvVmpCO0lBS1EsU0FBUztJQUNULFVBQVUsRUFBQTtFQU5sQjtJQVNRLGdCbkJ5MkdzQixFQUFBOztBbUJuMkc5QjtFQUNJLFdBQVc7RUFDWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsZW5CaTJHYTtFbUJoMkdiLGNBQWM7RUFFVixnQ3hCcld3QixFQUFBO0VPb0p4QjtJaUJ5TVI7TUFXUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsbUJBQWU7VUFBZixlQUFlO01BQ2YsZW5CMDFHVSxFQUFBLEVtQngxR2pCOztBQUlEO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiwyQm5CdzdHbUQ7TW1CeDdHbkQsd0JuQnc3R21EO1VtQng3R25ELHFCbkJ3N0dtRDtFbUJ2N0duRCxRbkJ5N0dVLEVBQUE7RUV4cEhOO0lpQjROUjtNQUtRLGFuQnc3R1ksRUFBQSxFbUI5NUduQjtFQS9CRDtJQVFRLGN4QjlYUztJd0IrWFQsbUJmMVR3RDtJZTJUeEQsZ0JuQnM3R2dELEVBQUE7RW1CaDhHeEQ7SUFnQlEsY3hCdFlTO0l3QnVZVCxtQmZsVXdEO0llbVV4RCxnQm5CZzdHZ0QsRUFBQTtFbUJsOEd4RDtJQXdCUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDJCbkJpNkcrQztRbUJqNkcvQyx3Qm5CaTZHK0M7WW1CajZHL0MscUJuQmk2RytDO0ltQmg2Ry9DLFFuQms2R00sRUFBQTtJRXhwSE47TWlCNE5SO1FBNEJZLGFuQmk2R1EsRUFBQSxFbUIvNUdmOztBQUdMO0VBR1ksZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixjekJuWks7RXlCb1pMLGtCZnhWb0Q7RWV5VnBELGdCbkJteUcwQjtFbUJseUcxQixpQm5CbXlHMkI7RW1CbHlHM0Isb0JuQmhXTSxFQUFBOztBbUJ1VmxCO0VBZ0JRLGFBQWEsRUFBQTs7QUFoQnJCO0VBb0JRLFdBQVc7RUFDWCxjQUFjO0VBQ2QsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTs7QUF0QmhCO0VBMEJRLGdCQUFnQixFQUFBO0VqQmxSaEI7SWlCd1BSO01BNEJZLGdCQUFnQixFQUFBLEVBMkJ2QjtFQXZETDtJQStCWSxnQm5CKzlHMkI7SW1COTlHM0IsbUJmbFhvRDtJZW1YcEQsY3hCeGJLO0l3QjBiRCx5Qm5CdzlHZ0MsRUFBQTtFbUIzL0doRDtJQXdDWSxlZjFYb0Q7SWUyWHBELGdCbkJ5OUdtQjtJbUJ4OUduQixpQm5CdTlHb0I7SW1CdDlHcEIsY3hCbGNLLEVBQUE7RXdCdVpqQjtJQThDWSxZbkJxOUd5QjtJbUJwOUd6QixnQkFBZ0IsRUFBQTtFQS9DNUI7SUFrRFksZ0JuQms5RzZCLEVBQUE7SW1CcGdIekM7TUFvRGdCLDBCQUEwQixFQUFBOztBQXBEMUM7RUF5RFEsV0FBVyxFQUFBO0VqQmpUWDtJaUJ3UFI7TUEyRFksbUJBQW1CLEVBQUEsRUFVMUI7RUFyRUw7SUE4RFksbUJBQW1CO0lBQ25CLG9CZmpab0Q7SWVrWnBELGNBQWMsRUFBQTtFQWhFMUI7SUFtRVksV0FBVyxFQUFBOztBQUt2QjtFQUNJLFdBQVc7RUFDWCxTbkI2dUdRO0VtQjV1R1IsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTtFakJ4VUo7SWlCcVVSO01BS1EsY25CMnVHVSxFQUFBLEVtQnp1R2pCOztBQUVEO0VBQ0ksbUJBQW1CO0VBQ25CLHlCeEIxZWE7RXdCNGVULGdCMUIxZWEsRUFBQTtFMEJzZXJCO0lBT1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2Ysd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsU0FBUztJQUNULG1CQUFtQixFQUFBO0lBWjNCO01BY1ksNkJ4Qmhmb0IsRUFBQTtFd0JrZWhDO0lBa0JRLFdBQVc7SUFDWCxZQUFZO0lBQ1oscUJBQXFCLEVBQUE7SUFwQjdCO01Bc0JZLHlIQUFtRyxFQUFBO0lBdEIvRztNQXlCWSx5SEFBbUcsRUFBQTtJQXpCL0c7TUE0Qlksb0hBQThGLEVBQUE7SUE1QjFHO01BK0JZLHdIQUFrRyxFQUFBO0lBL0I5RztNQWtDWSxvSEFBOEYsRUFBQTtJQWxDMUc7TUFxQ1ksb0hBQThGLEVBQUE7SUFyQzFHO01Bd0NZLGtIQUE0RixFQUFBO0lBeEN4RztNQTJDWSxvSEFBOEYsRUFBQTtJQTNDMUc7TUE4Q1kseUhBQW1HLEVBQUE7RUE5Qy9HO0lBa0RRLG9CQUFvQixFQUFBO0lBbEQ1QjtNQW9EWSxnQkFBZ0I7TUFDaEIsVUFBVTtNQUNWLGVmemRvRDtNZTBkcEQsZ0JuQmd5R3dDLEVBQUE7SUczMENoRDtNQUNJLCtCQUFtRDtNQUNuRCxvQkNqN0V3RDtNRG83RXhELGNSei9FUyxFQUFBO01RNC9FVDtRQUNJLHdCQUF3QixFQUFBO01BRzVCO1FBQ0ksd0JBQXdCLEVBQUE7TUFFNUI7UUFDSSxjQUFjLEVBQUE7TUFFbEI7UUFDSSxhSDlqQ3FCO1FHK2pDckIsZ0JIL2pDcUIsRUFBQTtFbUJqK0JqQztJQStEUSxrQkFBa0I7SUFDbEIsaUJBQWlCLEVBQUE7O0FBTXpCO0VBQ0ksV0FBVyxFQUFBO0VBRGY7SUFHUSxnQm5CNHdHNEMsRUFBQTtJbUIvd0dwRDtNQUtZLG1CZjllb0Q7TWUrZXBELGdCbkIyd0d3QztNbUIxd0d4QywrQ3pCMWpCeUM7TXlCaWtCekMsY3hCNWpCSyxFQUFBO0VRcWhGYjtJQUVJLGdCQUFnQixFQUFBO0VBRXBCO0lBQ0ksWUh2L0JjO0lHdy9CZCxVQUFVO0lBQ1YsZ0JIMWdGaUI7SUc0aUNyQixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQUE7SUErOUNiO01BRUksY0FBYztNQUNkLGlCQUFpQjtNQUNqQixrQkg3L0JhLEVBQUE7SUdyZXJCO01BQ0ksa0JBQWtCO01BQ2xCLG1CQUFtQixFQUFBO01BQ25CO1FBQ0ksV0FBVztRQUNYLFVIeDVCSztRR3k1QkwsV0h6NUJLO1FHMDVCTCxrQkFBa0I7UUFDbEIsU0FBUztRQUVULE9BQU87UUFDUCxZQUFZO1FBQ1osY0FBYztRQUNkLHlCVHBrQ0s7UVNxa0NMLGtCUnIxQk8sRUFBQTtFUW96RWY7SUFDSSxZSDNnQ2M7SUc0Z0NkLGVIMWdDaUI7SUcyZ0NqQixnQkg5aEZpQixFQUFBO0lHK2hGakI7TUFDSSxTQUFTO01BQ1QsY0FBYztNQUNkLGlCQUFpQjtNQUNqQiw0QkFBNEIsRUFBQTtNQUM1QjtRQUNJLDRCQUE0QixFQUFBO1FBQzVCO1VBQ0ksNEJBQTRCLEVBQUE7VUFDNUI7WUFDSSw0QkFBNEIsRUFBQTtFQU1oRDtJQUNJLGNSbGtGUztJUW1rRlQsb0JDOS9Fd0Q7SUQrL0V4RCxnQkhwakN1QjtJR3FqQ3ZCLGdCSG5qRmlCLEVBQUE7RUd5akZyQjtJQUNJLGdCSG5tQ1csRUFBQTtFR3FtQ2Y7SUFDSSxnQkhybUNXLEVBQUE7RUd1bUNmO0lBQ0ksZ0JIdm1DVyxFQUFBO0VHeW1DZjtJQUNJLGdCSHptQ1csRUFBQTtFRzJtQ2Y7SUFDSSxnQkgzbUNXLEVBQUE7RUc2bUNmO0lBQ0ksZ0JIN21DSSxFQUFBO0VHK21DUjtJQUNJLGdCQUFnQixFQUFBO0VBekVwQjtJZ0JuOURRLFNBQVMsRUFBQTtFaEJ1OURqQjtJZ0JwOURRLGVBQWUsRUFBQTtFQXZCM0I7SUEwQlksU0FBUztJQUNULFVBQVU7SUFDVixvQmZyZ0JvRDtJZXNnQnBELGN4QjNrQkssRUFBQTtFd0I4aUJqQjtJQXFDUSxpQkFBK0Q7SUFFM0QsbUJBQWU7SUFDZixnQ3hCaGxCb0IsRUFBQTtJd0J3aUJoQztNQTZDZ0IsaUJBQWlCLEVBQUE7O0FBT2pDO0VoQjRkSSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VnQjFkYixlQUFlLEVBQUE7RWhCMmRuQjtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUIsRUFBQTtJQUNuQjtNQUNJLFdBQVc7TUFDWCxVSHg1Qks7TUd5NUJMLFdIejVCSztNRzA1Qkwsa0JBQWtCO01BQ2xCLFNBQVM7TUFFVCxPQUFPO01BQ1AsWUFBWTtNQUNaLGNBQWM7TUFDZCx5QlRwa0NLO01TcWtDTCxrQlJyMUJPLEVBQUE7O0F3QnlXbkI7RUFNUSxhQUFhLEVBQUE7O0FBTnJCO0VBU1EsY3hCM21CUztFd0I0bUJULGVmdmlCd0Q7RWV3aUJ4RCxnQm5CNHlHdUI7RW1CM3lHdkIsaUJuQjB5R3dCLEVBQUE7O0FtQnZ5R2hDO0VBQ0ksZUFBZSxFQUFBOztBakJ4ZFg7RWlCMmRSO0lBRVEsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQSxFQWtGZjs7QUFwRkQ7RUFNUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQVJ2QjtJQVVZLFdBQVcsRUFBQTtJakJoZWY7TWlCc2RSO1FBZ0JnQixrQkFBa0I7UUFDbEIsbUJBQWU7WUFBZixlQUFlLEVBQUEsRUFFdEI7O0FqQnplRDtFaUJzZFI7SUE0QlksNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQSxFQUVmOztBakJwZkc7RWlCc2RSO0lBb0NZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUEsRUFFZjs7QWpCNWZHO0VpQnNkUjtJQTRDWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBLEVBRWY7O0FqQnBnQkc7RWlCc2RSO0lBb0RZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUEsRUFFZjs7QWpCNWdCRztFaUJzZFI7SUE0RFksNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQSxFQUVmOztBQTlETDtFQW1Fb0IsY0FBYyxFQUFBOztBakJ6aEIxQjtFaUJzZFI7SUF5RVksNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQSxFQVVmOztBQW5GTDtFQStFZ0Isa0JmL25CZ0QsRUFBQTs7QWVzb0JoRTtFQUNJLG9CbkJrOUZpRDtFbUJoOUY3QyxtQm5CZzlGNkM7RW1CLzhGN0MsZ0N4QnpzQndCLEVBQUE7RXdCcXNCaEM7SUFPUSxnQkFBZ0IsRUFBQTtJakJuakJoQjtNaUI0aUJSO1FBWW9CLFlBQVksRUFBQSxFQUVuQjtJakIxakJMO01pQjRpQlI7UUFpQm9CLFlBQVksRUFBQSxFQUVuQjtJakIvakJMO01pQjRpQlI7UUFzQm9CLFdBQVcsRUFBQSxFQUVsQjtJQXhCYjtNQTBCZ0Isb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixnQkFBZ0IsRUFBQTtNQTNCaEM7UUE2Qm9CLFlBQVk7UUFDWixjQUFjO1FBQ2Qsa0JBQWtCLEVBQUE7TUEvQnRDO1FBa0NvQixtQkFBTztZQUFQLFdBQU87Z0JBQVAsT0FBTztRQUNQLGdCQUFnQixFQUFBO1FqQi9rQjVCO1VpQjRpQlI7WUFxQ3dCLFNBQVMsRUFBQSxFQUVoQjtJakJubEJUO01pQjRpQlI7UUE0Q2dCLFlBQVksRUFBQSxFQUVuQjtJakIxbEJEO01pQjRpQlI7UUFpRGdCLFlBQVksRUFBQSxFQUVuQjtJakIvbEJEO01pQjRpQlI7UUFzRGdCLFdBQVcsRUFBQSxFQUVsQjtJakJwbUJEO01pQjRpQlI7UUEyRGdCLFdBQVcsRUFBQSxFQUVsQjtJQTdEVDtNQW1FWSxrQkFBa0IsRUFBQTtFQW5FOUI7SUF1RVEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLFNuQnN2RnFDLEVBQUE7SUU5MkdyQztNaUI0aUJSO1FBOEVZLGtCQUFrQixFQUFBLEVBUXpCO0lBdEZMO01BaUZZLGdCbkIxd0JhO01tQjJ3QmIsZ0JuQm83QzRCO01tQm43QzVCLGN4Qnp3QnFCO013QjB3QnJCLG9CZjF0Qm9ELEVBQUE7RWVzb0JoRTtJQXdGUSxvQmY5dEJ3RCxFQUFBO0Vlc29CaEU7SUEyRlEsZ0JBQWdCLEVBQUE7SWpCdm9CaEI7TWlCNGlCUjtRQTZGWSxZQUFZLEVBQUEsRUFFbkI7RUEvRkw7SUFpR1EsZUFBZTtJQUNmLDBCQUFrQjtJQUFsQix1QkFBa0I7SUFBbEIsa0JBQWtCO0lBQ2xCLGNBQWMsRUFBQTtFQW5HdEI7SUFzR1EsaUJBQWlCLEVBQUE7SWhCbXNEckI7TUFDSSwrQkFBbUQ7TUFDbkQsb0JDajdFd0Q7TURvN0V4RCxjUnovRVMsRUFBQTtNUTQvRVQ7UUFDSSx3QkFBd0IsRUFBQTtNQUc1QjtRQUNJLHdCQUF3QixFQUFBO01BRTVCO1FBQ0ksY0FBYyxFQUFBO01BRWxCO1FBQ0ksYUg5akNxQjtRRytqQ3JCLGdCSC9qQ3FCLEVBQUE7SUc0a0M3QjtNQUVJLGdCQUFnQixFQUFBO0lBRXBCO01BQ0ksWUh2L0JjO01Hdy9CZCxVQUFVO01BQ1YsZ0JIMWdGaUI7TUc0aUNyQixnQkFBZ0I7TUFDaEIsaUJBQWlCLEVBQUE7TUErOUNiO1FBRUksY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkg3L0JhLEVBQUE7TUdyZXJCO1FBQ0ksa0JBQWtCO1FBQ2xCLG1CQUFtQixFQUFBO1FBQ25CO1VBQ0ksV0FBVztVQUNYLFVIeDVCSztVR3k1QkwsV0h6NUJLO1VHMDVCTCxrQkFBa0I7VUFDbEIsU0FBUztVQUVULE9BQU87VUFDUCxZQUFZO1VBQ1osY0FBYztVQUNkLHlCVHBrQ0s7VVNxa0NMLGtCUnIxQk8sRUFBQTtJUW96RWY7TUFDSSxZSDNnQ2M7TUc0Z0NkLGVIMWdDaUI7TUcyZ0NqQixnQkg5aEZpQixFQUFBO01HK2hGakI7UUFDSSxTQUFTO1FBQ1QsY0FBYztRQUNkLGlCQUFpQjtRQUNqQiw0QkFBNEIsRUFBQTtRQUM1QjtVQUNJLDRCQUE0QixFQUFBO1VBQzVCO1lBQ0ksNEJBQTRCLEVBQUE7WUFDNUI7Y0FDSSw0QkFBNEIsRUFBQTtJQU1oRDtNQUNJLGNSbGtGUztNUW1rRlQsb0JDOS9Fd0Q7TUQrL0V4RCxnQkhwakN1QjtNR3FqQ3ZCLGdCSG5qRmlCLEVBQUE7SUd5akZyQjtNQUNJLGdCSG5tQ1csRUFBQTtJR3FtQ2Y7TUFDSSxnQkhybUNXLEVBQUE7SUd1bUNmO01BQ0ksZ0JIdm1DVyxFQUFBO0lHeW1DZjtNQUNJLGdCSHptQ1csRUFBQTtJRzJtQ2Y7TUFDSSxnQkgzbUNXLEVBQUE7SUc2bUNmO01BQ0ksZ0JIN21DSSxFQUFBO0lHK21DUjtNQUNJLGdCQUFnQixFQUFBO0lEcDhFaEI7TWlCaWpCUjtRQTBHWSxrQkFBa0IsRUFBQSxFQUV6QjtFQTVHTDtJQThHUSxnQkFBZ0IsRUFBQTs7QUFJeEI7RUFDSSxlQUFlLEVBQUE7RWpCL3BCWDtJaUI4cEJSO01BR1EsZ0JBQWdCLEVBQUEsRUFFdkI7O0FBR0Q7RUFHWSxlQUFlLEVBQUE7O0FBTTNCO0VBQ0ksZUFBZTtFQUVmLFlBQVk7RUFDWixpQkFBaUIsRUFBQTtFakJuckJiO0lpQitxQlI7TUFPUSxrQkFBa0IsRUFBQSxFQTJEekI7RUFsRUQ7SUFVUSxXQUFXO0lBQ1gsY0FBYztJQUNkLHdDbkJvaUJvQztJbUJuaUJwQyxnQm5CNGlHOEM7SW1CM2lHOUMsb0JmdnhCd0Q7SWV3eEJ4RCxrQkFBa0I7SUFFZCx5QnhCL3lCeUQ7SXdCcXpCekQsZ0IxQm4yQlMsRUFBQTtJMEI0MEJyQjtNQTBCWSx3Q25Cc2hCZ0M7TW1CcmhCaEMsa0JBQWtCO01BQ2xCLGdCbkI2aEcwQyxFQUFBO0VtQnpqR3REO0lBZ0NRLGdCbkIyaEc0QyxFQUFBO0ltQjNqR3BEO01BbUNZLG1CbkJ5aEc4QyxFQUFBO0ltQjVqRzFEO01BZ0RnQixrQkFBa0I7TUFDbEIsZ0JBQWdCLEVBQUE7TUFqRGhDO1FBbURvQixjekJ0M0JEO1F5QnUzQkMsZ0JuQjdyQkksRUFBQTtJbUJ5b0J4QjtNQXlEWSxVQUFVLEVBQUE7SUF6RHRCO01BNERZLFVBQVUsRUFBQTtJQTVEdEI7TUErRFksVUFBVSxFQUFBOztBakI5dUJkO0VpQm12QlI7SUFFUSxpQkFBaUIsRUFBQSxFQUV4Qjs7QUFFRDtFQUNJLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsVUFBVSxFQUFBO0VqQjV2Qk47SWlCeXZCUjtNQUtRLG1CQUFtQixFQUFBLEVBRTFCOztBQUlEO0VBQ0ksc0JBQWtCLEVBQUE7RWpCMXdCZDtJaUJ5d0JSO01BR1Esc0JBQWtCLEVBQUEsRUFLekI7RWpCNXdCTztJaUJvd0JSO01BTVEsc0JBQWtCLEVBQUEsRUFFekI7O0FBR0Q7RUFFSSxzQkFBa0IsRUFBQTs7QWpCdHhCZDtFaUJ5eEJSO0lBR1ksMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsZ0JBQWdCLEVBQUEsRUFLdkI7O0FBVEw7RUFPWSxtQkFBbUIsRUFBQTs7QUFLL0I7RUFDSSxXQUFXO0VBQ1gsZUFBZSxFQUFBO0VBRm5CO0lBSVEsV0FBVztJQUNYLGFBQWE7SUFDYixTbkJ3NEZPO0ltQnY0RlAsOEVBQWdJLEVBQUE7SWpCNXlCaEk7TWlCcXlCUjtRQVdZLDJGQUFxSjtRQUNySixjbkJtNEZTLEVBQUEsRW1CNXpGaEI7SWpCbjNCRztNaUJneUJSO1FBaUJZLDJGQUFvSjtRQUNwSixjbkI4M0ZRLEVBQUEsRW1CN3pGZjtJQW5GTDtNQXFCWSxrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixtQkFBZTtVQUFmLGVBQWU7TUFDZix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QixFQUFBO01BeEJuQztRQTJCZ0IsYUFBYSxFQUFBO01BM0I3QjtRQStCb0IsV0FBVztRQUNYLFdBQVc7UUFDWCxXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFFBQVE7UUFDUiwyQkFBMkU7UUFDM0UsT0FBTztRQUNQLGNBQWM7UUFDZCxZQUFZO1FBQ1oseUJ4Qjk5QmEsRUFBQTtNT3NKekI7UWlCZ3lCUjtVQWdEd0IsVUFBVTtVQUNWLFdBQVc7VUFDWCxrQkFBa0I7VUFDbEIsTUFBTTtVQUNOLDBCQUFrRjtVQUNsRixTQUFTO1VBQ1QsV0FBVyxFQUFBLEVBQ2Q7TUF2RHJCO1FBNERvQiwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQixFQUFBO01BNUR0QztRQStEb0IsaUJBQWlCLEVBQUE7TUEvRHJDO1FBb0U0QixrQkFBa0IsRUFBQTtNQXBFOUM7UUF5RXdCLGNBQWM7UUFDZCxrQmZwOEJ3QztRZXE4QnhDLGdCbkJpMEZlLEVBQUE7TW1CNTRGdkM7UUE4RXdCLDBCQUFrQjtRQUFsQix1QkFBa0I7UUFBbEIsa0JBQWtCLEVBQUE7O0FBUTFDO0VBR1ksU0FBUztFQUNULGdCbkI2c0Z3QjtFbUI1c0Z4QixlZnI5Qm9ELEVBQUE7O0FlZzlCaEU7RUFVUSxhQUFhLEVBQUE7O0FBSXJCO0VBQ0ksbUJmLzlCNEQ7RWVnK0I1RCxnQkFBZ0IsRUFBQTs7QUFHcEI7RUFJZ0IseUJ6QmhpQ0M7RXlCaWlDRCxZbkIwcUY4QjtFbUJ6cUY5QiwrQnhCaHpCTTtFd0JnekJOLHVCeEJoekJNLEVBQUE7O0F3QjB5QnRCO0VBV1EsV0FBVztFQUNYLFlBQVksRUFBQTtFQVpwQjtJQWNZLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1oseUJ4QnRqQ29CO0l3QnVqQ3BCLCtCeEJoMEJVO0l3QmcwQlYsdUJ4QmgwQlUsRUFBQTtJd0IyeUJ0QjtNQXdCZ0IseUJ6QnZqQ0M7TXlCd2pDRCwrQnhCcDBCTTtNd0JvMEJOLHVCeEJwMEJNLEVBQUE7SXdCMnlCdEI7TUE0QmdCLHlDekJ4akNDO015QnlqQ0QsK0J4QngwQk07TXdCdzBCTix1QnhCeDBCTSxFQUFBO0l3QjJ5QnRCO01oQnhVSSxrQkFBa0IsRUFBQTtNQUVkO1FBQ0ksYUFBYSxFQUFBO01BR3JCO1FBQ0ksV0FBVztRQUNYLGVnQmlXMEM7UWhCaFcxQyxnQmdCZ1cwQztRaEIvVjFDLGtCQUFrQjtRQUNsQixNQUFNO1FBQ04sUUFBUTtRQUNSLFNBQVM7UUFDVCxPQUFPO1FBQ1AsWUFBWTtRQUNaLGNBQWM7UUFDZCxvQ1JqdkJTO1FRa3ZCVCw4RUFBc0Q7UUFDdEQsNEJBQTRCO1FBQzVCLDJCQUEyQjtRQUMzQixvQmdCb1ZvQztRaEJuVnBDLHFCQUFtQztRQUNuQywwQ1JqdkJ3QixFQUFBO0l3QmtpQ2hDO01Bb0NnQixnQkFBZ0I7TUFDaEIsV0FBVyxFQUFBO01qQjk2Qm5CO1FpQnk0QlI7VUF1Q29CLGVBQWUsRUFBQSxFQUd0Qjs7QUFPYjtFQUNJLFVBQVU7RUFDVixnQkFBZ0IsRUFBQTtFakI1N0JaO0lpQjA3QlI7TUFJUSxrQkFBa0IsRUFBQSxFQWlDekI7RUFyQ0Q7SUFPUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsNkJ4QjlsQ3dCLEVBQUE7SXdCbWxDaEM7TUFhWSxnQ3hCaG1Db0IsRUFBQTtJd0JtbENoQztNQXFCWSxlQUFlLEVBQUE7SUFyQjNCO01Bd0JZLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCLEVBQUE7SUF4Qm5DO01BMkJZLG1CQUFtQjtNQUNuQixnQ3hCL21Db0IsRUFBQTtNT3lKeEI7UWlCMDdCUjtVQThCZ0IsbUJBQW1CLEVBQUEsRUFFMUI7RUFoQ1Q7SUFtQ1EsaUJBQWlCLEVBQUE7O0FBSXpCO0VBRVEseUJmN2pDd0Q7RWU4akNwRCx1QmY5akNvRCxFQUFBO0VGcUZ4RDtJaUJzK0JSO01BS1ksd0JmaGtDb0Q7TWVpa0NwRCx1QmZqa0NvRCxFQUFBLEVldWtDM0Q7RWpCNytCRztJaUJpK0JSO01BU1kseUJmcGtDb0Q7TWVxa0NwRCx3QmZya0NvRCxFQUFBLEVldWtDM0Q7O0FBWkw7RUFjUSxZQUFZO0VBQ1osbUJuQmlsRk8sRUFBQTtFRXRrSFA7SWlCcytCUjtNQWlCWSxtQm5CZ2xGSSxFQUFBLEVtQjNrRlg7RWpCdi9CRztJaUJpK0JSO01Bb0JZLGtCbkI4a0ZFLEVBQUEsRW1CNWtGVDs7QUF0Qkw7RUN2aENFLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBMkNKLDRCQXREMEU7RUg5RXhFLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTs7QUVnbkNuRTtFQ3ZoQ0UsbUJBQU07TUFBTixrQkFBTTtVQUFOLGNBQU07RUEyQ0osMkJBdEQwRTtFSDlFeEUsc0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBOztBRWduQ25FO0VDdmhDRSxtQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTTtFQTJDSixpQ0F0RDBFO0VIOUV4RSxzQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7O0FFZ25DbkU7RUN2aENFLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBMkNKLDJCQXREMEU7RUg5RXhFLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTs7QUVnbkNuRTtFQ3ZoQ0UsbUJBQU07TUFBTixrQkFBTTtVQUFOLGNBQU07RUEyQ0osMkJBdEQwRTtFSDlFeEUsc0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBOztBZjBJM0Q7RWlCcytCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osNEJBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBLEVFaXJDMUQ7O0FqQnZpQ0Q7RWlCcytCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osMkJBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBLEVFd3JDMUQ7O0FqQjlpQ0Q7RWlCcytCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osaUNBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBLEVFK3JDMUQ7O0FqQnJqQ0Q7RWlCcytCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osMkJBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBLEVFc3NDMUQ7O0FqQjVqQ0Q7RWlCcytCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osMkJBdEQwRTtJSDlFeEUsc0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBLEVFNnNDMUQ7O0FqQjlqQ0Q7RWlCaStCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osNkJBdEQwRTtJSDlFeEUsdUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVFcXRDMUQ7O0FqQnRrQ0Q7RWlCaStCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osNEJBdEQwRTtJSDlFeEUsdUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVFNHRDMUQ7O0FqQjdrQ0Q7RWlCaStCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osa0NBdEQwRTtJSDlFeEUsdUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVFbXVDMUQ7O0FqQnBsQ0Q7RWlCaStCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osNEJBdEQwRTtJSDlFeEUsdUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVFMHVDMUQ7O0FqQjNsQ0Q7RWlCaStCUjtJQ3ZoQ0UsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU07SUEyQ0osNEJBdEQwRTtJSDlFeEUsdUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVFaXZDMUQ7O0FBTVQ7RUFDSSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFNuQmtyRlc7RW1CanJGWCxnQm5Ca3FGZSxFQUFBO0VFaHhIWDtJaUJ3bUNSO01BUVEsU25CZ3JGTztNbUIvcUZQLGdCbkJncUZXLEVBQUEsRW1CbG5GbEI7RUF2REQ7SUFhWSxtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWSxFQUFBO0lqQnJuQ2hCO01pQndtQ1I7UUFlZ0IsZ0JuQnNxRnFCO1FtQnJxRnJCLG1CQUFZO1lBQVosb0JBQVk7Z0JBQVosWUFBWSxFQUFBLEVBRW5CO0VBbEJUO0lBb0JZLHlCeEJ6d0NxQjtJd0Iwd0NyQixjeEJwd0NxQjtJd0Jxd0NyQixXQUFXO0lBQ1gsbUJBQW1CLEVBQUE7SUF2Qi9CO01BeUJnQixXQUFXLEVBQUE7RUF6QjNCO0lBOEJRLFVuQjhvRk07SW1CN29GTixjeEJ0eUNTO0l3QnV5Q1QsbUJmbHVDd0Q7SWVtdUN4RCxnQm5CNHBGeUIsRUFBQTtJRXJ5SHpCO01pQndtQ1I7UUFtQ1ksVW5CMG9GRSxFQUFBLEVtQnhvRlQ7RUFyQ0w7SUF3Q1kscUJBQXFCO0lBQ3JCLFNBQVMsRUFBQTtFQXpDckI7SUE0Q1kscUJBQXFCO0lBQ3JCLG9CZi91Q29ELEVBQUE7RWVrc0NoRTtJQWlEUSxlbkJtbkZPO0ltQmxuRlAsV0FBVyxFQUFBO0lqQjFwQ1g7TWlCd21DUjtRQW9EWSxlbkJpbkZHLEVBQUEsRW1CL21GVjs7QUFVTDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RWpCMXFDbEI7SWlCd3FDUjtNQUlRLGtCQUFrQixFQUFBLEVBd0J6QjtFQTVCRDtJQVFZLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUFScEI7SUFXWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBWHBCO0lBY1ksNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtFQWRwQjtJQW1CWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBbkJwQjtJQXNCWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0VBdEJwQjtJQXlCWSw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBOztBakJ0c0NaO0VpQjRzQ1I7SUFFUSxvQkFBb0IsRUFBQSxFQUszQjs7QWpCOXNDTztFaUJ1c0NSO0lBS1Esb0JBQW9CLEVBQUEsRUFFM0I7O0FBT0Q7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix3QkFQYTtNQU9iLHFCQVBhO1VBT2IsdUJBUGE7RUFRYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixhbkJzL0VlO0VtQnIvRWYsZ0JuQjYrRWU7RW1CNStFZixlbkJnL0VhO0VtQi8rRWIsb0RuQnUvRTJFO0VtQnQvRTNFLG9EbkJ1L0V3RTtFbUJyL0VwRSxnQjFCNzNDYSxFQUFBO0VTd0piO0lpQjB0Q1I7TUFjUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsY25CNitFYTtNbUI1K0ViLGdCbkJvK0VZO01tQm4rRVosZW5CdStFVSxFQUFBLEVtQjM1RWpCO0VBN0ZEO0lBb0JRLFdBQVc7SUFDWCxTQUFTO0lBQ1QsVUFBVTtJQUNWLGVmdDBDd0Q7SWV1MEN4RCxnQm5CMitFOEM7SW1CMStFOUMsY3hCNzRDUztJd0IrNENMLGtCQUFrQixFQUFBO0lqQnJ2Q3RCO01pQjB0Q1I7UUE4QlksV0FBVztRQUNYLG1CZjkwQ29ELEVBQUEsRWVnMUMzRDtFQWpDTDtJQW1DUSwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQixRbkIwNUVNO0ltQno1RU4sU0FBUztJQUNULFVBQVU7SUFDVixjeEIzNUNTO0l3QjQ1Q1QsbUJmdjFDd0Q7SWV3MUN4RCxnQm5CeTVFZ0QsRUFBQTtJRTVwSGhEO01pQjB0Q1I7UUEyQ1ksYW5CbzVFUSxFQUFBLEVtQi80RWY7SUFoREw7TUE4Q1ksZ0JuQnM1RTRDLEVBQUE7RW1CcDhFeEQ7SUFrRFEsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULFVBQVU7SUFDVixjeEJ6MENNO0l3QjAwQ04sbUJmdjJDd0Q7SWV3MkN4RCxnQkFBZ0IsRUFBQTtJakI5d0NoQjtNaUJxdENSO1FBNERZLFlBQVk7UUFDWix1QkFBMkI7WUFBM0Isb0JBQTJCO2dCQUEzQiwyQkFBMkIsRUFBQSxFQWVsQztJQTVFTDtNQWdFWSxjekJ4NkNLLEVBQUE7TXlCdzJDakI7UUFrRWdCLGN6QjE2Q0M7UXlCMjZDRCw4QnhCenJDTTtRd0J5ckNOLHNCeEJ6ckNNLEVBQUE7SXdCc25DdEI7TUF1RVksY3pCbDdDSyxFQUFBO015QjIyQ2pCO1FBeUVnQixjekJwN0NDLEVBQUE7RXlCMjJDakI7SUE4RVEsMEJBQWtCO0lBQWxCLHVCQUFrQjtJQUFsQixrQkFBa0I7SUFDbEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2Ysd0JBdEZTO1FBc0ZULHFCQXRGUztZQXNGVCx1QkF0RlM7SUF1RlQsYW5CdzZFVyxFQUFBO0lFcnRIWDtNaUIwdENSO1FBcUZZLHdCQUF1QjtZQUF2QixxQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2Qix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsY25CcTZFUyxFQUFBLEVtQmg2RWhCO0lqQmp6Q0c7TWlCcXRDUjtRQTBGWSxjbkJtNkVRLEVBQUEsRW1CajZFZjs7QUFHTDtFQUdZLGdCQUFnQixFQUFBOztBQUg1QjtFQVNvQixnQ3hCejlDSCxFQUFBOztBTzRKVDtFaUJvekNSO0lBY29CLFlBQVksRUFBQSxFQUVuQjs7QUVoL0NiO0VBQ0ksbUJBQW1CLEVBQUE7RW5CMktmO0ltQjVLUjtNQUdRLG1CQUFtQixFQUFBLEVBRTFCOztBbkJ1S087RW1CcktSO0lBRVEsZ0JBQWdCLEVBQUEsRUFFdkI7O0FBRUQ7RUFDSSxTQUFTLEVBQUE7RW5COEpMO0lDdXRGQTtNQUVRLGtCQUFrQixFQUFBLEVBRXpCO0VEM3RGRDtJQ2t2RkE7TUFNUSxXQUFXLEVBQUEsRUFRbEI7RUFVRztJQUNJLFlBQVksRUFBQTtFQUdwQjtJQUNJLHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCLEVBQUE7SURweEYvQjtNQ214RkE7UUFHUSxVQUFVO1FBQ1Ysa0JBQWtCLEVBQUEsRUFZekI7SUFWRztNQUNJLFNBQVMsRUFBQTtJQUViO01BQ0ksa0JBQWtCO01BQ2xCLGdCQUFnQixFQUFBO01EenhGeEI7UUN1eEZJO1VBSVEsYUFBYSxFQUFBLEVBRXBCO0VBS1Q7SUFDSSx5QkFBcUIsRUFBQTtJQUNyQjtNQUVJLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixrQkFBa0IsRUFBQTtNRDF5RnRCO1FDb3lGQTtVQVFRLDBCQUFrQjtVQUFsQix1QkFBa0I7VUFBbEIsa0JBQWtCO1VBQ2xCLGtCQUFrQixFQUFBLEVBbUJ6QjtNQWpCRztRQUNJLFlIL2hEQSxFQUFBO1FFanhDUjtVQyt5Rkk7WUFHUSxZSHg5Rkk7WUcyOUZKLGNBQWM7WUFDZCxnQkFBZ0IsRUFBQSxFQUV2QjtNQUNEO1FBQ0ksWUh6aURBO1FHMGlEQSx5QlJ4OEZpQixFQUFBO1FPNkl6QjtVQ3l6Rkk7WUFJUSxZSG4rRkksRUFBQSxFR3ErRlg7RUFHVDtJQUNJLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0lEejBGYjtNQ3UwRko7UUFLUSx1QkFBdUIsRUFBQSxFQU05QjtFQUNEO0lBQ0ksY0FBYztJQUNkLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTztJQUNQLG1CQUFlO1FBQWYsZUFBZTtJQUNmLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0Qix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixXSHk5QjZCO0lHdjlCN0IsZUFBZSxFQUFBO0lEdjFGZjtNQzgwRko7UUFXUSxnQkFBZ0I7UUFHaEIsY0FBYztRQUNkLGVBQWUsRUFBQSxFQTBDdEI7SUF0NENEO01BQ0ksY1I1b0R5QjtNUTZvRHpCLG9CQzdsRHdEO01EOGxEeEQsZ0JIdWlCc0M7TUd0aUJ0QyxnQkhscERpQixFQUFBO01HbXBEakI7UUFDSSxjVDdwREs7UVM4cERMLDBCQUEwQixFQUFBO01BRTlCO1FBQ0ksY1Q5cERLLEVBQUE7SVNtL0ZUO01BQ0ksV0FBVztNQUNYLGNBQWM7TUFDZCxTQUFTO01BQ1QsVUFBVTtNQUNWLGNSLytGcUI7TVFnL0ZyQixvQkNoOEZvRDtNRGk4RnBELGdCSDI4QndCO01HMThCeEIsb0JIdzhCNEI7TUd2OEI1QixtQkhzOEIyQjtNR3I4QjNCLDhCUjN3RlU7TVEyd0ZWLHNCUjN3RlUsRUFBQTtNTy9GZDtRQ2cyRkE7VUFZUSxnQkFBZ0IsRUFBQSxFQVd2QjtNQVRHO1FBQ0ksY1RsZ0dDO1FTbWdHRCw4QlJseEZNO1FRa3hGTixzQlJseEZNLEVBQUE7TVFveEZWO1FBQ0ksY1R6Z0dDO1FTMGdHRCw4QlJ0eEZNO1FRc3hGTixzQlJ0eEZNLEVBQUE7SVEweEZkO01BQ0ksZUFBZSxFQUFBO0lBRW5CO01BQ0ksYUFBYTtNQUNiLCtCUmhoR3FCO01RaWhHckIsbUJDeDlGb0QsRUFBQTtNRHk5RnBEO1FBQ0ksY0FBYyxFQUFBO01BRWxCO1FBQ0ksU0FBUztRQUNULFVBQVUsRUFBQTtFQUl0QjtJQUNJLGNSbmhHeUI7SVFvaEd6QixtQkNwK0Z3RDtJRHErRnhELGdCSDlvRHNCLEVBQUE7RUdncEQxQjtJQVFJLGtCQUFrQjtJQUNsQixtQkNoL0Z3RDtJRGkvRnhELGNSdGpHUyxFQUFBO0lRNmlHVDtNQUNJLFlIOW5GUTtNRytuRlIsa0JIOFM0QjtNRzdTNUIsdUJSajJGc0I7TVFrMkZ0QixrQkFBa0I7TUFDbEIsY1JwOEZFLEVBQUE7RU9pRE47SUN5NUZKO01BTVEsVUFBVTtNQUNWLG1CQUFtQixFQUFBLEVBRTFCO0VEbDZGRztJQ202Rko7TUFHUSxjQUFjO01BQ2QsV0FBVyxFQUFBLEVBRWxCO0VBQ0Q7SUFDSSxjQUFjLEVBQUE7RUFHbEI7SUFFSSxnQkh4cEQyQixFQUFBO0lFeHhDM0I7TUM4NkZKO1FBS1EsbUJBQW1CLEVBQUEsRUFFMUI7RUFDRDtJQUNJLGdCSC9wRDJCLEVBQUE7SUV4eEMzQjtNQ3M3Rko7UUFJUSxtQkFBbUIsRUFBQSxFQUUxQjtFRDU3Rkc7SUM2N0ZKO01BRVEsVUFBVSxFQUFBLEVBRWpCO0VBQ0Q7SUFFSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7SUR0OEZ2QjtNQ2s4Rko7UUFXUSxVQUFVO1FBQ1YsbUJBQW1CLEVBQUEsRUFzQjFCO0lBcEJHO01BQ0ksV0FBVyxFQUFBO01EajlGZjtRQ2c5RkE7VUFHUSxXQUFXO1VBQ1gsd0JBQXVCO2NBQXZCLHFCQUF1QjtrQkFBdkIsdUJBQXVCO1VBQ3ZCLHlCQUFtQjtjQUFuQixzQkFBbUI7a0JBQW5CLG1CQUFtQixFQUFBLEVBRTFCO0lEdjlGRDtNQ3c5RkE7UUFFUSxhQUFhLEVBQUEsRUFFcEI7SUFFRDtNQUNJLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7TUQvOUYvQjtRQzg5RkE7VUFHUSx3QkFBdUI7Y0FBdkIscUJBQXVCO2tCQUF2Qix1QkFBdUIsRUFBQSxFQUU5QjtFRG4rRkQ7SUNxK0ZKO01BRVEsVUFBVSxFQUFBLEVBV2pCO0VBVEc7SUFDSSxVQUFVO0lBQ1YsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVE7SUFDUixpQkFBaUIsRUFBQTtJRDUrRnJCO01DeStGQTtRQUtRLFdBQVc7UUFDWCw0QkFBUTtZQUFSLGlCQUFRO2dCQUFSLFFBQVEsRUFBQSxFQUVmO0VBRUw7SUFDSSxVQUFVO0lBQ1YsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVE7SUFFUixnQkg5dEQrQjtJRyt0RC9CLGNUOW9HUyxFQUFBO0lRc0pUO01DbS9GSjtRQU9RLFdBQVc7UUFDWCxtQkFBbUIsRUFBQSxFQUcxQjtFRDkvRkc7SUMrL0ZKO01BRVEsU0FBUyxFQUFBLEVBRWhCO0VBQ0Q7SUFDSSxVQUFVO0lBQ1Ysb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qiw0QkFBUTtRQUFSLGlCQUFRO1lBQVIsUUFBUSxFQUFBO0lEeGdHUjtNQ29nR0o7UUFNUSxXQUFXO1FBQ1gsbUJBQ0osRUFBQSxFQUNIO0VBQ0Q7SUFDSSxXSHB2RDZCO0lHcXZEN0IsWUhydkQ2QjtJR3N2RDdCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGNSeHFHeUI7SVF5cUd6Qiw4QlJ2N0ZjO0lRdTdGZCxzQlJ2N0ZjLEVBQUE7RVErOEZsQjtJQUNJLDZCUmxzR3lCLEVBQUE7RU84SXpCO0lDc2pHSjtNQVFRLGFBQWE7TUFFYiw0RkFBNEU7TUFBNUUsNEVBQTRFO01BQzVFLFFBQVE7TUFDUixhQUFhLEVBQUEsRUFRcEI7RUQxa0dHO0lDb2tHQTtNQUVRLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUIsRUFBQSxFQUU1QjtFa0JudUdUO0lBTVksYUFBYSxFQUFBOztBQUt6QjtFQUdZLGVBQWUsRUFBQTtFbkI0SW5CO0ltQi9JUjtNQUtnQixhQUFhO01BQ2IscUNBQXFDO01BQ3JDLGNBQWMsRUFBQSxFQUVyQjs7QW5Cc0lEO0VtQi9JUjtJQVlnQixVQUFVLEVBQUEsRUFRakI7O0FuQjJIRDtFbUIvSVI7SUFnQm9CLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQSxFQUUxQjs7QW5CaUlMO0VtQnBKUjtJQXdCWSxrQkFBa0I7SUFDbEIsc0JBQXNCLEVBQUEsRUFFN0I7O0FBM0JMO0VBNkJRLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTtFbkJzSGhCO0ltQnBKUjtNQWdDWSxZQUFZLEVBQUEsRUFFbkI7O0FBbENMO0VBb0NRLHVCQUF1QixFQUFBO0VBcEMvQjtJQXlDWSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixXckJ1NUh5QjtJcUJ0NUh6QixnQkFBZ0IsRUFBQTtJbkJ3R3BCO01tQnBKUjtRQThDZ0Isa0JBQWtCLEVBQUEsRUFFekI7RUFoRFQ7SUFrRFksYzFCeENxQjtJMEJ5Q3JCLG9CakJPb0Q7SWlCTnBELGdCckI2MUNrQixFQUFBOztBRTd2Q3RCO0VtQnBKUjtJQXlEWSxVQUFVLEVBQUEsRUFFakI7O0FBM0RMO0VBNkRRLGNBQWM7RUFDZCxXQUFXLEVBQUE7RW5Cc0ZYO0ltQnBKUjtNQWdFWSxVQUFVLEVBQUEsRUFFakI7O0FBbEVMO0VBb0VRLHVCQUF1QjtFQUN2QixXQUFXLEVBQUE7RW5CK0VYO0ltQnBKUjtNQXVFWSxVQUFVLEVBQUEsRUFFakI7O0FBekVMO0VBMkVRLFdBQVcsRUFBQTs7QUEzRW5CO0VBOEVRLGNBQWM7RUFDZCxXQUFXLEVBQUE7RW5CcUVYO0ltQnBKUjtNQWlGWSxZQUFZO01BQ1osa0JBQWtCLEVBQUEsRUFLekI7RUF2Rkw7SUFxRlksY0FBYyxFQUFBOztBbkIwRGxCO0VtQm5EUjtJQUlnQixhQUFhO0lBQ2IsZ0NBQWdDO0lBQ2hDLGNBQWMsRUFBQSxFQUVyQjs7QUFSVDtFQVVZLHNCQUFzQixFQUFBO0VBVmxDO0lBYWdCLHFCQUFxQixFQUFBOztBbkJzQzdCO0VtQm5EUjtJQW9CWSxhQUFhO0lBQ2IsZ0NBQWdDO0lBQ2hDLGNBQWMsRUFBQSxFQW9CckI7O0FuQlNHO0VtQm5EUjtJQTJCZ0IsV0FBVztJQUNYLFNBQVMsRUFBQSxFQU9oQjs7QUFuQ1Q7RUFxQ1ksV3JCaTBIeUIsRUFBQTtFcUJ0MkhyQztJQXVDZ0IsU0FBUyxFQUFBOztBbkJZakI7RW1CbkRSO0lBNkNZLFdBQVc7SUFDWCxhQUFhO0lBQ2IsOEJBQThCLEVBQUEsRUFFckM7O0FuQkVHO0VtQm5EUjtJQW9EWSxjQUFjO0lBQ2QsV0FBVyxFQUFBLEVBRWxCOztBbkJKRztFbUJuRFI7SUEwRFksY0FBYztJQUNkLFdBQVcsRUFBQSxFQW9CbEI7O0FBL0VMO0VBOERZLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RUEvRGxDO0lBaUVnQixzQkFBcUI7UUFBckIsbUJBQXFCO1lBQXJCLHFCQUFxQixFQUFBO0VBakVyQztJQW9FZ0IsV0FBVyxFQUFBO0luQlpuQjtNbUJ4RFI7UUFzRW9CLDBCQUFrQjtRQUFsQix1QkFBa0I7UUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7O0FuQmhCTDtFbUJ4RFI7SUE0RWdCLGlCQUFpQixFQUFBLEVBRXhCOztBbkIzQkQ7RW1CbkRSO0lBa0ZZLGNBQWM7SUFDZCxXQUFXO0lBQ1gsdUJBQTJCO1FBQTNCLG9CQUEyQjtZQUEzQiwyQkFBMkIsRUFBQSxFQUVsQzs7QW5CbkNHO0VtQm5EUjtJQXlGWSxjQUFjO0lBQ2QsV0FBVyxFQUFBLEVBS2xCOztBbkJ2Q0c7RW1CeERSO0lBNkZZLFVBQVUsRUFBQSxFQUVqQjs7QW5CNUNHO0VtQm5EUjtJQWtHWSxjQUFjO0lBQ2QsV0FBVyxFQUFBLEVBU2xCOztBbkJ6REc7RW1CbkRSO0lBdUdnQiwwQkFBa0I7SUFBbEIsdUJBQWtCO0lBQWxCLGtCQUFrQjtJQUNsQiwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQix1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQixFQUFBLEVBRWxDOztBQUlUO0VBQ0ksa0JBQWtCLEVBQUE7O0FuQjdEZDtFbUJnRVI7SUFHWSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLG1CQUFlO1FBQWYsZUFBZSxFQUFBLEVBRXRCOztBQU5MO0VBU1Esb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsZ0JyQm15SFc7RXFCbHlIWCxhckI4eEhPO0VxQjd4SFAsNkIxQjdPYTtFMEI4T2IseUIxQmxPd0I7RTBCb09wQixnQjVCeE9TLEVBQUE7RVM2SmI7SW1CMkRSO01BbUJZLDhCQUFtQjtNQUFuQiw2QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixnQnJCMnhITztNcUIxeEhQLGFyQnN4SEcsRUFBQSxFcUIzdkhWO0VBaERMO0lBd0JZLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsYzNCM09LO0kyQjRPTCxnQnJCeXhINkIsRUFBQTtJcUJwekh6QztNQTZCZ0IsWXJCc0NLO01xQnJDTCxxQkFBcUI7TUFDckIsa0JBQWtCO01BQ2xCLGVBQWU7TUFDZixpQzFCMUZ1QjtNMEIyRnZCLGMzQmxQRyxFQUFBO0UyQmdObkI7SUFzQ1ksVUFBVSxFQUFBO0luQmpHZDtNbUIyRFI7UUF3Q2dCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsb0JqQi9MZ0QsRUFBQSxFaUJvTXZEO0lBL0NUO01BNkNnQixnQkFBZ0IsRUFBQTs7QUE3Q2hDO0VBa0RRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFNBQVMsRUFBQTtFQXBEakI7SUFzRFksU0FBUyxFQUFBO0VBdERyQjtJQTJEZ0IsZUFBZSxFQUFBO0VBM0QvQjtJbEJxSUkscUNBQWdDO0lBeUI1QixXa0IvRjJRO0lsQjZHL1Esb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLCtDQUErQztJQUMvQyxjVDFZYTtJUzJZYix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkgyc0hxQztJRzFzSHJDLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUnRhUztJUTBhYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNbUIyRFI7UWxCMk5RLFdrQjVKMlE7UWxCNkozUSw0Q0FBa0UsRUFBQSxFa0I1SmpFO0lsQmlLTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUcGJPO1FTc2JILHFCVHRiRztRUzBiUCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUemNTO01TMmNMLHFCVDNjSztNUytjVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTBCcEN0QjtJQWtFWSxTQUFTO0lBQ1QsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixnQnJCcTBIZ0M7SXFCcDBIaEMsb0JqQjNOb0Q7SWlCNE5wRCx5QnJCbzBIeUMsRUFBQTs7QXFCMXpIckQ7RUFFUSxnQkFBZ0IsRUFBQTs7QUFJeEI7RUFHWSxZckJyQlEsRUFBTzs7QXFCa0IzQjtFQVFZLFlyQjNCSSxFQUFPOztBcUJnQ3ZCO0VBQ0ksV0FBVztFQUNYLG1CckJ1dUgrQztFcUJ0dUgvQyxVQUFVLEVBQUE7RUFIZDtJQUtRLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixjM0I5VFM7STJCK1RULG1CakJuUXdEO0lpQm9ReEQsZ0JyQm11SG9DO0lxQmx1SHBDLHlCckJndUh1QyxFQUFBO0lxQjV1SC9DO01BY1kscUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixjM0JwVU87TTJCcVVQLGlDMUI5SzJCO00wQitLM0IsbUJqQjNRb0QsRUFBQTtFaUJ5UGhFO0lBc0JRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHNCQUFrQjtRQUFsQixrQkFBa0I7SUFDbEIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLHlCMUI3VlM7STBCK1ZMLGdCNUIxVlMsRUFBQTtJNEI0VHJCO01BaUNZLGNBQWM7TUFDZCxnQkFBZ0I7TUFDaEIsVUFBVSxFQUFBO0VBbkN0QjtJQXVDUSxZckJ3c0gwQjtJcUJ2c0gxQixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLDZCMUI5V2E7STBCK1diLFNBQVM7SUFDVCxtQmpCclN3RDtJaUJzU3hELGMxQjNXUyxFQUFBO0kwQjhUakI7TUErQ1ksd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0lBL0M1QjtNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsbUJqQjVTb0Q7TWlCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG1CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01Ba0RZLHlCckIwckhtQztNcUJ6ckhuQyxtQmpCNVNvRDtNaUI2U3BELHNCQUFzQixFQUFBO0lBcERsQztNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsbUJqQjVTb0Q7TWlCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG1CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01BdURZLGVBQWU7TUFDZix5QjNCNVdPLEVBQUE7RTJCb1RuQjtJbEJpQ0kscUNBQWdDO0lBeUI1QixXa0JJd0s7SWxCVTVLLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLDRDQUFrRTtJQUVsRSwyQ0FBK0M7SUFDL0MsY1J0WmE7SVF1WmIseUJSOVZpRTtJUStWakUsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBV1gscUJSbGFTO0lRb2FiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01tQitKUjtRbEJ1SFEsV2tCekR3SztRbEIwRHhLLDRDQUFrRSxFQUFBLEVrQnpEakU7SWxCOERMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlRsYks7UVNzYkQscUJUdGJDO1FTd2JMLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlQzY1c7TVMrY1AscUJUL2NPO01TaWRYLDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEJnRXRCO0lsQmlDSSxxQ0FBZ0M7SUF5QjVCLFdrQk95SztJbEJPN0ssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjUnRaYTtJUXVaYix5QlJwVVU7SVFxVVYsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBV1gscUJSbGFTO0lRb2FiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01tQitKUjtRbEJ1SFEsV2tCdER5SztRbEJ1RHpLLDRDQUFrRSxFQUFBLEVrQnREakU7SWxCMkRMO01BQ0k7UUFD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UTBNTjtVQUNDLGNSM2NBO1VRNGNBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCVDVjUztNU2dkTCxxQlRoZEs7TVNrZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUVRLGNSM2RxQjtNUWdlckIseUJSNWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUWlSN0M7TUFDSSxZSHpQQTtNRzBQQSxrQmtCOUZrQjtNbEIrRmxCLGlDUjFYMkI7TVEyWDNCLGVIKzlHbUQ7TUcxOUduRCxjUnhoQnFCO01ReWhCckIsOEJScFNVO01Rb1NWLHNCUnBTVSxFQUFBO0lRdVNsQjtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEI2SnRCO0lsQjVESSxxQ0FBZ0M7SUF1QjVCLFdrQitGeUs7SWxCakY3SyxnQmtCaUZpTztJbEJoRmpPLFlrQmdGK007SWxCL0UvTSxvQmtCK0U4UDtJbEIvRTlQLG9Ca0IrRThQO0lsQi9FOVAsYWtCK0U4UDtJbEI3RTFQLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUMVlhO0lTMlliLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkhra0g2QjtJR2prSDdCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVdYLHFCUmxhUztJUW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NaNitjQztJOEIvaGRELG1CQUFtQixFQUFBO0luQnZUbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0M2TDtRbEJoQzdMLHVCa0JnQzZMO1FsQmhDN0wsa0JrQmdDNkw7UWxCL0I3TCw0Q0FBa0UsRUFBQSxFa0JpQ3JFO0lsQjVCRDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUbGJLO1FTc2JELHFCVHRiQztRU3diTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1IzY0E7VVE0Y0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJUNWNTO01TZ2RMLHFCVGhkSztNU2tkVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BRVEsY1J4ZHFCO01RK2RyQix5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlIN1BPO01HOFBQLGtCa0I5RWtCO01sQitFbEIsaUNSMVgyQjtNUTJYM0IsZUgyN0cwRDtNR3Q3RzFELGNSeGhCcUI7TVF5aEJyQiw4QlJwU1U7TVFvU1Ysc0JScFNVLEVBQUE7SVF1U2xCO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBOztBMEI0TnRCO0VBQ0ksMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsbUJBQWU7TUFBZixlQUFlO0VBQ2YsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFDWixTQXZFVyxFQUFBO0VuQnhQUDtJbUIyVFI7TUFNUSxtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWTtNQUNaLFNBekVPLEVBQUEs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Z0JBQWdCLEVBQUEsRUFFdkI7O0FBSUw7RW5CaitCSSxxQ0FBZ0M7RUF1QjVCLFdtQjI4QnNOO0VuQjM3QjFOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUeFlhO0VTeVliLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVHZaUztFUzJaYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJb0JpcUNSO01uQjM0QlEsMEJtQjQ0QjBPO01uQjU0QjFPLHVCbUI0NEIwTztNbkI1NEIxTyxrQm1CNDRCME87TW5CMzRCMU8sNENBQWtFLEVBQUEsRW1CNDRCekU7RW5CdjRCRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUcmJLO01TdWJELHFCVHZiQztNUzJiTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUM2NXO0lTNmNQLHFCVDdjTztJU2lkWCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4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O1FwQm5JOU8sNENBQWtFLEVBQUEsRW9Cb0lqRTtJcEIvSEw7TUFDSTtRQUNJLGNUcGJLO1FTcWJMLHlCUnhZeUQ7UVEwWXJELHFCVHZiQztRUzJiTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1QvYkE7VVNnY0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUemNTO01TMmNMLHFCVDdjTztNU2lkWCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlINVFGO01HNlFFLGtCb0Jja0I7TXBCYmxCLGlDUjFYMkI7TVEyWDNCLGVIMHlGMEI7TUdyeUYxQixjVHRoQk87TVN1aEJQLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTRCa1J0QjtJcEJqTEkscUNBQWdDO0lBdUI1QixXb0J1TWtRO0lwQnZMdFEsb0JvQnVMbVM7SXBCdkxuUyxvQm9CdUxtUztJcEJ2TG5TLGFvQnVMbVM7SXBCckwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjVHhZZTtJU3lZZix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJUdlpTO0lTMlpiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQjtJUTBRZDs7Ozs7Ozs7U1ppaWlCQyxFWXpoaUJDO0lEalhGO01xQmlYUjtRcEIzRlEsMEJvQndJOE87UXBCeEk5Tyx1Qm9Cd0k4TztRcEJ4STlPLGtCb0J3SThPO1FwQnZJOU8sNENBQWtFLEVBQUEsRW9Cd0lqRTtJcEJuSUw7TUFDSTtRQUNJLGNUcGJLO1FTcWJMLHlCUnhZeUQ7UVEwWXJELHFCVHZiQztRUzJiTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1QvYkE7VVNnY0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUemNTO01TMmNMLHFCVDdjTztNU2lkWCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlIOVFEO01HK1FDLGtCb0J1QmtCO01wQnRCbEIsaUNSMVgyQjtNUTJYM0IsZUgweUYwQjtNR3J5RjFCLGNUdGhCTztNU3VoQlAsOEJScFNVO01Rb1NWLHNCUnBTVSxFQUFBO0lRdVNsQjtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QTRCb1V0QjtFcEJuT0kscUNBQWdDO0VBeUI1QixZb0IyTWlOO0VwQjdMck4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsaURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlR4WWE7RVN5WWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUdlpTO0VTMlpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lxQndhUjtNcEJqSlksa0RBQW9FLEVBQUEsRW9CbUovRTtFckJyYU87SXFCbWFSO01wQjdJUSxZb0I4SWlOO01wQjdJak4sbURBQWtFLEVBQUEsRW9COEl6RTtFcEJ6SUc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR2YkM7TVMyYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDNjVztJUzZjUCxxQlQ3Y087SVNpZFgsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBNEJ5VXRCO0VBQ0ksZ0JBQWdCLEVBQUE7RUFEcEI7SUFHUSxTQUFTO0lBQ1QsVUFBVSxFQUFBO0lBSmxCO01BTVksZUFBZSxFQUFBO0VBTjNCO0lBWWdCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIscUI1QjVrQmlCO0k0QjZrQmpCLDhENUJ4Vk07STRCd1ZOLHNENUJ4Vk07STRCd1ZOLDhDNUJ4Vk07STRCd1ZOLHVFNUJ4Vk0sRUFBQTtJNEJ5VXRCO01Ba0JvQixlQUFlLEVBQUE7SUFsQm5DO01Bc0JvQix5QjVCbm1CQyxFQUFBO0k0QjZrQnJCO01BeUJvQiw0RDVCelZpQztjNEJ5VmpDLG9ENUJ6VmlDO000QjBWakMsMkM1QnBXRTtNNEJvV0YsbUM1QnBXRTtNNEJvV0YsMkI1QnBXRTtNNEJvV0Ysb0Q1QnBXRSxFQUFBO000QjBVdEI7UUE0QndCLHFCN0IxbEJQO1E2QjJsQk8scUM1QnZXRjtRNEJ1V0UsNkI1QnZXRixFQUFBO0U0QjBVdEI7SUFvQ1EsZ0JBQWdCO0lBQ2hCLDJDNUI5V2M7STRCOFdkLG1DNUI5V2M7STRCOFdkLDJCNUI5V2M7STRCOFdkLG9ENUI5V2MsRUFBQTtJNEJ5VXRCO01Bd0NnQixrQkFBa0I7TUFDbEIsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixrQm5CN2lCZ0Q7TW1COGlCaEQsZ0J2QjhsSGlCO011QjdsSGpCLGM3QjNtQkMsRUFBQTtNNkI4akJqQjtRQStDb0IsWXZCM1dUO1F1QjZXUyxxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGlDNUJ6ZG1CO1E0QjBkbkIsYzVCbG5CYTtRNEJtbkJiLGVBQWU7UUFDZixxQzVCL1hFO1E0QitYRiw2QjVCL1hFLEVBQUE7STRCeVV0QjtNQTBEZ0IsaUJBQWlCLEVBQUE7SUExRGpDO01BNkRnQixjQUFjLEVBQUE7TUE3RDlCO1FBK0RvQixlbkJqa0I0QztRbUJra0I1QyxnQkFBZ0I7UUFDaEIsYzVCeG9CSCxFQUFBO0U0QnVrQmpCO0lBMEVZLGM3QnJvQks7STZCc29CTCw4QjVCclpVO0k0QnFaVixzQjVCclpVLEVBQUE7RTRCMFV0QjtJQThFWSxjN0Izb0JPO0k2QjRvQlAsOEI1QnhaVTtJNEJ3WlYsc0I1QnhaVSxFQUFBOztBcUJrT3RCO0VPNkxRLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGdCdkI4NEJnQjtFdUI3NEJoQixVdkI4NEJVO0V1Qjc0QlYsZW5CNWxCd0Q7RW1CNmxCeEQsZ0J2Qmk1Qm1CO0V1Qmg1Qm5CLGtCdkJpNUJxQjtFdUJoNUJyQixjN0J6cEJXO0U2QjBwQlgscUJ2Qnc2QlM7RXVCdjZCVCw2QjVCNXFCYTtFNEI2cUJiLDZCNUI3cUJhO0U0QjhxQmIsb0J2QjY0QnVCO0V1QjU0QnZCLHdENUIzYWM7RTRCMmFkLGdENUIzYWMsRUFBQTtFNEI2WnRCO0lBZ0JZLGM3Qi9wQks7STZCZ3FCTCwwQnZCazZCeUM7SXVCajZCekMseUI1Qm5yQlM7STRCb3JCVCw2QjVCcHJCUztJNEJxckJULDhENUJsYlU7STRCa2JWLHNENUJsYlUsRUFBQTtFNEI4WnRCO0lBdUJZLGM3QnhxQk87STZCeXFCUCw2QjVCenJCUyxFQUFBOztBNEIrckJyQjtFcEIxVkkscUNBQWdDO0VBeUI1QixZb0JrVWlOO0VwQnBUck4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsaURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlR4WWE7RVN5WWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUdlpTO0VTMlpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lxQitoQlI7TXBCeFFZLGtEQUFvRSxFQUFBLEVvQjBRL0U7RXJCNWhCTztJcUIwaEJSO01wQnBRUSxZb0JxUWlOO01wQnBRak4sbURBQWtFLEVBQUEsRW9CcVF6RTtFcEJoUUc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHJiSztNU3ViRCxxQlR2YkM7TVMyYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDNjVztJUzZjUCxxQlQ3Y087SVNpZFgsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBNEJpY3RCO0VBQ0ksbUJBQW1CLEVBQUE7RUFEdkI7SUFHUSxvQm5CN25Cd0QsRUFBQTs7QW1Ca29CaEU7RUFFUSxldkJ5R1MsRUFBQTtFRW5wQlQ7SXFCd2lCUjtNQUlZLGV2QndHSyxFQUFBLEV1QnRHWjs7QXBCZ3BERDtFQUNJLG1CSHIzQlc7RUd5M0JYLG9CQzd4RXdEO0VEOHhFeEQsZ0JIMzRCRztFRzQ0Qkgsa0JIcDRCTTtFR3c0Qk4sY1QvMUVTO0VTZzJFVCxnQkh2MUVpQjtFR3cxRWpCLDZCQUE2QixFQUFBO0VBTzdCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUlqQjtFQUNJLG1CSGg1Qlc7RUdvNUJYLGVDenpFd0Q7RUQwekV4RCxnQkh0NkJHO0VHdTZCSCxrQkgvNUJNO0VHbTZCTixjVDMzRVM7RVM0M0VULGdCSG4zRWlCLEVBQUE7RUcwM0Vq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QzBDTCxjQUFjLEVBQUE7SUFqQjFCO01BcUJnQixZM0IyT0YsRUFBTztJMkJoUXJCO01BMkJnQixZM0JvT0gsRUFBTzs7QTRCMVRwQjs7OztDckN1a21CQztBcUNoa21CRDtFQUNJLFdBQVc7RUFDWCxrQkFBa0I7RUF3QmxCLHFCQUFnQixFQUFBO0VBMUJwQjtJekIyNERJLGVIMk02QjtJRzFNN0IsbUJBQW1CO0lBQ25CLHFCUnIzRDRCO0lRczNENUIscUNSOW5Ea0I7SVE4bkRsQiw2QlI5bkRrQixFQUFBO0lRK25EbEI7TUFDSSxxQlRyM0RTO01TczNEVCxxQ1Jsb0RjO01Ra29EZCw2QlJsb0RjLEVBQUE7RWlDL1F0QjtJekJ1M0RJLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLDJDUjFtRGtCO0lRMG1EbEIsbUNSMW1Ea0I7SVEwbURsQiwyQlIxbURrQjtJUTBtRGxCLG9EUjFtRGtCLEVBQUE7SVFrbkRkO01BQ0ksNERSMW1EeUM7Y1EwbUR6QyxvRFIxbUR5QztNUTJtRHpDLDJDUnJuRFU7TVFxbkRWLG1DUnJuRFU7TVFxbkRWLDJCUnJuRFU7TVFxbkRWLG9EUnJuRFUsRUFBQTtFaUMvUXRCO0lBZVksWUFBWSxFQUFBO0VBZnhCO0lBcUJZLDhCQUE4QjtJQUM5QiwyQkFBMkIsRUFBQTtFMUJzSi9CO0kwQjVLUjtNQTRCUSxxQkFBZ0IsRUFBQSxFQUt2QjtFMUJnSk87STBCakxSO01BK0JRLHFCQUFnQixFQUFBLEVBRXZCOztBckNna21CRDtFWTN6aUJ3QixXQUFXLEVBQUE7O0FEcm5EM0I7RVhvN2xCTjtJWTN6aUIwQixXQUFXLEVBQUEsRUFFbEI7O0FEM25EYjtFWHc3bEJOO0lZcHppQmMsb0JBQW9CLEVBQUEsRUFFM0I7O0FEdG9ERDtFWDQ3bEJOO0lZbHppQmtCLGNBQW1DO0lBQ25DLG9CQUFvQixFQUFBLEVBRTNCOztBRDdvREw7RVhpOGxCTjtJWWp6aUJrQixjQUFtQyxFQUFBLEVBRzFDOztBRG5wREw7RVhxOGxCTjtJWS95aUJrQixjQUFtQyxFQUFBLEVBRzFDOztBRHpwREw7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QkY7UVlsaWtCVSx1Qkhrd0JLO1lHbHdCTCxvQkhrd0JLO2dCR2x3QkwsMkJIa3dCSztRR2p3QkwsUUFBUSxFQUFBLEVBRWY7RVpraWtCUDtJWS9oa0JVLGdCQUFnQixFQUFBO0VaaWlrQjFCO0lZN2hrQlUsVUhnd0JpQjtJRy92QmpCLG1CSCttQnFCLEVBQUE7RVRnN2lCL0I7SVkzaGtCYyxZQUFZLEVBQUE7RVo2aGtCMUI7SVl2aGtCYyxjVGwvQ0M7SVNtL0NELDBCQUFzRTtJQUN0RSw4QlJod0NNO0lRZ3dDTixzQlJod0NNLEVBQUE7RUp5eG1CcEI7SVlwaGtCYyxjVHQvQ0MsRUFBQTtFSDRnbkJmO0lZMWdrQlUsNkJScGhEUyxFQUFBO0VKZ2luQm5CO0lZemdrQlUsb0JIa2pCeUI7SUdqakJ6Qix5QlJyaERLLEVBQUE7SUpnaW5CYjtNWXpna0JZLHNCQUFnRixFQUFBO0laMmdrQjVGO01ZeGdrQlksY0FBYyxFQUFBO0laMGdrQjFCO01ZcmdrQlksa0JINmtCVSxFQUFBO01UMDdpQnBCO1FZbmdrQmMsVUFBVSxFQUFBO0VacWdrQjVCO0lZcHJqQlUsNERSMW1EeUM7WVEwbUR6QyxvRFIxbUR5QztJUTJtRHpDLDJDUnJuRFU7SVFxbkRWLG1DUnJuRFU7SVFxbkRWLDJCUnJuRFU7SVFxbkRWLG9EUnJuRFUsRUFBQTs7QUo0eW1CdEI7RVlsZ2tCUSxXQUFXLEVBQUE7O0FacWdrQm5CO0VZamdrQlEsV0FBVztFQUtYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0JINm1CVyxFQUFBO0VFamdFWDtJWG81bUJKO01ZMy9qQlEsU0h5bUJBLEVBQUEsRUdsbUJQO0Vacy9qQkg7SVl6L2pCVSxvQkFBYztRQUFkLGNBQWMsRUFBQTs7QVo0L2pCMUI7RVl2L2pCUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQkhzaUJrQjtFR3JpQmxCLGtCSHFpQmtCLEVBQUE7RVRvOWlCeEI7SVl2L2pCVSxjUnRrREs7SVF1a0RMLGdCSDBwQmtDO0lHenBCbEMsbUJDbmdEb0QsRUFBQTtFYjQvbUI5RDtJWXQvakJVLGlCSHEvRG1FO0lHcC9EbkUsY1I1a0RLO0lRNmtETCxtQkN4Z0RvRCxFQUFBOztBYmlnbkJoRTtFWXIvakJRLGlEQUFrRDtFQUNsRCwrQ1R2bEQ2QztFU3dsRDdDLG9CQzlnRHdEO0VEK2dEeEQsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLDhCUjExQ2M7RVEwMUNkLHNCUjExQ2MsRUFBQTtFSmkxbUJwQjtJWXAvakJVLHdDQUF3QztJQUN4QywwQkFBMEI7SUFDMUIsOEJSaDJDVTtJUWcyQ1Ysc0JSaDJDVSxFQUFBOztBSnUxbUJ0QjtFWW43akJRLGNSNW9EeUI7RVE2b0R6QixvQkM3bER3RDtFRDhsRHhELGdCSHVpQnNDO0VHdGlCdEMsZ0JIbHBEaUIsRUFBQTtFVHVrbkJ2QjtJWW43akJVLGNUN3BESztJUzhwREwsMEJBQTBCLEVBQUE7RVpxN2pCcEM7SVlsN2pCVSxjVDlwREssRUFBQTs7QUhtbG5CakI7RVk3L2pCUSxjUjdrRHlCO0VROGtEekIsb0JDOWhEd0Q7RUQraER4RCxnQkg2bUJnQztFRzVtQmhDLGdCSG5sRGlCO0VHb2xEakIsb0JIc21Cb0M7RUdybUJwQyw4QlJ6MkNjO0VReTJDZCxzQlJ6MkNjLEVBQUE7RUp3Mm1CcEI7SVk3L2pCVSxTQUFTO0lBQ1QsVUFBVSxFQUFBOztBWmdna0J0QjtFWTUvakJRLGNSemxEeUIsRUFBQTs7QUp3bG5CakM7RVkzL2pCWSxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBWjgvakJ0QjtFWTEvakJRLGNSdm5EUztFUXduRFQsb0JDbmpEd0QsRUFBQTs7QUZxRnhEO0VYNDltQk47SVk3MmxCYyxhQUFhLEVBQUEsRUFPcEI7O0FEdG5CRDtFWGcrbUJOO0lZNzJsQmtCLGNBQWMsRUFBQSxFQUVyQjs7QVo4MmxCYjtFWXoybEJRLG9C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LEVBQUEsRUFFN0Q7O0ExQnNFTDtFMEJsRlI7SUFxQm9CLGFBQW9ELEVBQUEsRUFFM0Q7O0ExQjJETDtFMEJsRlI7SUEwQm9CLFlBQW1ELEVBQUEsRUFFMUQ7O0FBUWI7RUFJWSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixTQUFTO0VBQ1QsWUFBWTtFQXVCaEIsWTVCNm5FTyxFQUFBO0VFOW1FUDtJMEI5Q1I7TUFpQ1ksWTVCNm5FRyxFQUFBLEU0QjNuRVY7O0FBbkNMOztFQXNDUSxXNUJzbkVPO0U0QnJuRVAsWTVCcW5FTyxFQUFBO0VFOW1FUDtJMEI5Q1I7O01BeUNZLFc1QnFuRUc7TTRCcG5FSCxZNUJvbkVHLEVBQUEsRTRCbG5FVjs7QUFHTDtFQUNJLFk1QjRtRVc7RTRCM21FWCxZQUFZLEVBQUE7RUFGaEI7O0lBS1EsVzVCd21FTztJNEJ2bUVQLFk1QnVtRU87STRCcm1FSCx5RGpDOEZzQztZaUM5RnRDLGlEakM4RnNDO0lpQzVGMUMseUNqQ29GYztJaUNwRmQsaUNqQ29GYyxFQUFBO0lpQzlGdEI7O01BWVkseUJqQy9LSztNaUNpTEQseURqQ3dGa0M7Y2lDeEZsQyxpRGpDd0ZrQztNaUN0RnRDLHlDakM2RVU7TWlDN0VWLGlDakM2RVUsRUFBQTtJaUM3RnRCOztNQW1CWSxXQUF1RDtNQUN2RCxZQUF3RCxFQUFBO0UxQnJCNUQ7STBCQ1I7TXpCbEpJLFl5QjRLaUc7TXpCM0tqRyxXeUIyS2lHO016QjFLakcsWUFBWTtNQUNaLHlCVFJhO01TU2IseUJBQXlCO01BQ3pCLGtDQUE2QjtjQUE3QiwwQkFBNkIsRUFBQSxFeUJ5S3hCO0UxQjdCRDtJMEJDUjtNekJsSkksWXlCbUxrRztNekJsTGxHLFd5QmtMa0c7TXpCakxsRyxZQUFZO01BQ1oseUJUUmE7TVNTYix5QkFBeUI7TUFDekIsaUNBQTZCO2NBQTdCLHlCQUE2QixFQUFBLEV5QmdMeEI7O0FBSVQ7RUFDSSxXQUFXLEVBQUE7RUFEZjs7SUFPUSx5QmpDak5TO0lpQ2tOVCxZNUIyMkRLO0k0QjEyREwsMEVqQzhDYztJaUM5Q2Qs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QzJSTiwrQ2pDM1JNLEVBQUE7TWlDMFB0QjtRQW9DZ0IseUJqQzloQkM7UWlDK2hCRCxxQmpDL2hCQyxFQUFBO01pQzBmakI7UUF5Q2dCLHlCakNuaUJDO1FpQ29pQkQscUJqQ3BpQkM7UWlDcWlCRCxVbEM1VUg7UWtDNlVHLG1CQUFtQjtRQUNuQixnQ2pDdlNNO1FpQ3VTTix3QmpDdlNNLEVBQUE7O0FrQ3RSdEI7Ozs7OztDdENtbG9CQztBc0Mza29CRDtFQUNJLFk3QjR6RHFCO0U2QjN6RHJCLGtCQUFrQjtFQUNsQiwwQ2xDV2E7RWtDVmIsNkI3QmcwRG9CO0U2Qi96RHBCLGtCbENxUWU7RWtDcFFmLDREbEN5UWtCO0VrQ3pRbEIsb0RsQ3lRa0IsRUFBQTtFa0MvUXRCO0lBUVEseUJsQ01TO0lrQ0xULHlCN0I0ekRjO0k2QjN6RGQsNERsQ29RYztJa0NwUWQsb0RsQ29RYyxFQUFBO0lrQzlRdEI7TUFZWSx5QnBDa1Z5RDtNb0NqVnpELHlDbENpUVU7TWtDalFWLGlDbENpUVUsRUFBQTtFa0M5UXRCO0lBaUJRLHlCbENIUztJa0NJVCx5QjdCb3pEZSxFQUFBO0k2QnQwRHZCO01Bb0JZLHlCbkNTSyxFQUFBO0VtQzdCakI7SUEyQmdCLHlCbEMwR0YsRUFBQTtFa0NySWQ7SUFnQ2dCLHlCbENxR0YsRUFBQTs7QWtDNUZkO0VBQ0ksVzdCcXlEMkI7RTZCcHlEM0IsWTdCb3lEMkI7RTZCbnlEM0Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLGlCQUFpQjtFQUNqQix5QmxDckNhO0VrQ3NDYix5QmxDaENhO0VrQ2lDYixtQjdCOHhEOEI7RTZCN3hEOUIsZUFBZTtFQUNmLFVBQVU7RUFDViwyQ2xDdU5rQjtFa0N2TmxCLG1DbEN1TmtCO0VrQ3ZObEIsMkJsQ3VOa0I7RWtDdk5sQixvRGxDdU5rQixFQUFBO0VrQ3RP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b0JBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQixnQkFBZ0IsRUFBQTtJRDF5RGhCO01Dc3lESjtRQU1RLGtCSGJXLEVBQUEsRUdlbEI7RUFFRDtJQUNJLGVIMjVEUyxFQUFBO0lFNXNIVDtNQ2d6REo7UUFHUSxlSDA1RE0sRUFBQSxFR3g1RGI7RUFHRDtJQWlLQSx5QlYzeURpRTtJVTR5RGpFLHlCUmpoRVU7SVFtaEVOLGdCVnpuRWEsRUFBQTtJVTRuRVo7TUFDRyxZSDUxREMsRUFBTztJR2cyRFo7TUFDSSxjUjVoRUUsRUFBQTtJUWlpRU47TUFDSSxZSHYyREM7TUd3MkRELGNSbmlFRSxFQUFBO0lRc2lFVjtNQUNJLGNSdmlFTSxFQUFBO0VRazNEVjtJQW1JQSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VRKzJEVjtJQXFHQSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VRbzdEVjtJQUNJLGNSN2hFeUI7SVE4aEV6QixnQkFBZ0IsRUFBQTtFQXZFcEI7SUE0RUEseUJWbHVEaUU7SVVtdURqRSx5QlJoakVhLEVBQUE7SVFrakVUO01BQ0ksWUg1dkRLLEVBQU87SUdnd0RoQjtNQUNJLGNSeGpFSyxFQUFBO0lRMmpFYjtNQUNJLGNSNWpFUztNUTZqRVQsZ0JBQWdCLEVBQUE7RUFyRnBCO0lBQ0ksdUJBQWMsRUFBQTtJQUNkO01BQ0ksWUgzakRRLEVBQU87RUdna0R2QjtJQUNJLGlCQUFpQixFQUFBO0VBSXJCO0lBRUksb0JBQWE7SUFBYixv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OERZLFNBQVMsRUFBQTtNQTlEckI7UUFnRWdCLGdCbENzb0RELEVBQUE7UUVoMERQO1VnQzBIUjtZQWtFb0IsYUFBYTtZQUNiLGlCbENvb0RMLEVBQUEsRWtDbG9ERjtFQXJFYjtJQXlFUSxXQUFXO0lBQ1gsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixtRHZDdkdjO0l1Q3VHZCwyQ3ZDdkdjLEVBQUE7SXVDMkJ0QjtNQThFWSxpQkFBaUI7TUFDakIsaUJBQWlCO01BQ2pCLHFEdkM1R1U7TXVDNEdWLDZDdkM1R1UsRUFBQTtNdUM0QnRCO1FBa0ZnQixpQkFBaUI7UUFDakIscUJ2QzVXQztRdUM2V0QscUN2Q2hITTtRdUNnSE4sNkJ2Q2hITSxFQUFBO0l1QzRCdEI7TUF3Rlksa0JBQWtCO01BQ2xCLGFBQWE7TUFDYix5QnZDdFhLO011Q3VYTCxlQUFlO01BQ2YsbUJBQW1CO01BQ25CLHlCdkM1WFM7TXVDNlhULGdCekNyWFM7TXlDc1hULHFDdkMxSFU7TXVDMEhWLDZCdkMxSFUsRUFBQTtNUStsRWxCO1FBQ0ksbUJIcjNCVztRR3kzQlgsb0JDN3hFd0Q7UUQ4eEV4RCxnQkgzNEJHO1FHNDRCSCxrQkhwNEJNO1FHdzRCTixjVC8xRVM7UVNnMkVULGdCSHYxRWlCO1FHdzFFakIsNkJBQTZCLEVBQUE7UUFPN0I7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFJakI7UUFDSSxtQkhoNUJXO1FHbzVCWCxlQ3p6RXdEO1FEMHpFeEQsZ0JIdDZCRztRR3U2Qkgsa0JILzVCTTtRR202Qk4sY1QzM0VTO1FTNDNFVCxnQkhuM0VpQixFQUFBO1FHMDNFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFJSSxtQkg1NkJXO1FHODZCUCxlSHQ2QkU7UUd3NkJOLG9CQ3QxRXdEO1FEdTFFeEQsZ0JIbDhCRztRR204Qkgsa0JIMzdCTTtRRys3Qk4sY1RyNUVTO1FTczVFVCxnQkhoNUVpQixFQUFBO1FHbzVFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVB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cC9KekIsYzdDMUJDO002QzJCRCxvQm5DaUNnRDtNbUNoQ2hELGdCdkM4b0plO011QzdvSmYsb0J2Q2dwSm1CO011Qy9vSm5CLGNBQWMsRUFBQTtNckN3SHRCO1FxQy9KUjtVQXlDb0IsZ0J2Q3luSlMsRUFBQSxFdUNwbkpoQjtJQTlDYjtNQXlGZ0IsV0FBc0M7TUFDdEMsWUFBdUMsRUFBQTtNQTFGdkQ7UUE0Rm9CLGVBQW1DLEVBQUE7SUE1RnZEO01BaUdZLFdBQVc7TUFDWCx1QnZDODhKNEI7VXVDOThKNUIsb0J2Qzg4SjRCO2N1Qzk4SjVCLDJCdkM4OEo0QixFQUFBO0V1Q2hqS3hDO0lBK0dRLFd2Q3E0SnNCO0l1Q3A0SnRCLFl2Q280SnNCO0l1Q240SnRCLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQix5QjdDNUdTO0k2QzZHVCxpQnZDKzNKdUI7SXVDOTNKdkIsbUJBQW1CO0lBQ25CLHFCN0MvR1M7STZDZ0hULG1CNUNpSTRCO0k0Q2hJNUIsb0Q1Q29JYztJNENwSWQsNEM1Q29JYyxFQUFBO0k0QzlQdEI7TUE0SFksZXZDMjRKWTtNdUMxNEpaLGtDNUNtQzZCO000Q2xDN0IsYzVDaklLO000Q2tJTCw4QjVDK0hVO000Qy9IVixzQjVDK0hVLEVBQUE7STRDOVB0QjtNQWtJWSx5QjdDdEhLO002Q3VITCxxQjdDdkhLO002Q3lIRCxVdkNrM0pjO011Q2gzSmxCLG9FNUNzSFU7TTRDdEhWLDRENUNzSFUsRUFBQTtNNEM3UHRCO1FBeUlnQixjNUM1SUM7UTRDNklELDhCNUNtSE07UTRDbkhOLHNCNUNtSE0sRUFBQTtJNEM3UHRCO01BOElZLHlCN0NySUs7TTZDc0lMLHFCN0N0SUssRUFBQTtNNkNUakI7UUFpSmdCLGM1Q3BKQyxFQUFBO0k0Q0dqQjtNQW1LZ0IsWXZDaURGLEVBQU87SXVDcE5yQjtNQXVMZ0IsWXZD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eUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRG1XK0UsRUFBQTtFb0RwV25GO0lBQ0kseUJsRHNHRSxFQUFBO0VrRHZHTjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCbkQ4QkUsRUFBQTtFbUQvQk47SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBEbVcrRSxFQUFBO0VvRHBXbkY7SUFDSSx5QmxEa0hFLEVBQUE7RWtEbkhOO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtF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VC8xRVM7RVNnMkVULGdCSHYxRWlCO0VHdzFFakIsNkJBQTZCLEVBQUE7RUFPN0I7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksbUJIaDVCVztFR281QlgsZUN6ekV3RDtFRDB6RXhELGdCSHQ2Qkc7RUd1NkJILGtCSC81Qk07RUdtNkJOLGNUMzNFUztFUzQzRVQsZ0JIbjNFaUIsRUFBQTtFRzAzRWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUlJLG1CSDU2Qlc7RUc4NkJQLGVIdDZCRTtFR3c2Qk4sb0JDdDFFd0Q7RUR1MUV4RCxnQkhsOEJHO0VHbThCSCxrQkgzN0JNO0VHKzdCTixjVHI1RVM7RVNzNUVULGdCSGg1RWlCLEVBQUE7RUdvNUVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFDSSxtQkhsOEJXO0VHbzhCUCxpQkg1N0JJO0VHODdCUixtQkM3MkV3RDtFRDgyRXhELGdCSHg5Qkc7RUd5OUJILGtCSGo5Qk07RUdxOUJOLGNULzZFUztFU2c3RVQsZ0JIdjZFaUIsRUFBQTtFRzI2RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUNJLG1CSHg5Qlc7RUc0OUJYLG1CQ3A0RXdEO0VEcTRFeEQsZ0JIOStCRztFRysrQkgsa0JIditCTTtFRzIrQk4sY1IvOEVTO0VRZzlFVCxnQkg5N0VpQixFQUFBO0VHazhFakI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBQ0ksY0g5K0JNO0VHay9CTixvQkMzNUV3RDtFRDQ1RXhELGdCSHBnQ0c7RUdxZ0NILGtCSDcvQk07RUdpZ0NOLGNSdCtFUztFUXUrRVQsZ0JIcjlFaUIsRUFBQTtFR3k5RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUtqQjtFQUNJLCtCQUFtRDtFQUNuRCxvQkNqN0V3RDtFRG83RXhELGNSei9FUyxFQUFBO0VRNC9F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ZixVQUFVO0VBQ1YsZ0JBQWdCLEVBQUE7RTlDNWJoQjtJOENzYlI7TUFTZ0IsbUJBQWE7VUFBYixpQkFBYTtjQUFiLGFBQWEsRUFBQSxFQUtwQjtFOUMvYkQ7SThDaWJSO01BWWdCLG1CQUFhO1VBQWIsaUJBQWE7Y0FBYixhQUFhLEVBQUEsRUFFcEI7O0FBZFQ7RUFpQlEsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsaUJoRGxZMEI7RWdEbVkxQixjckRybUJTO0VxRHNtQlQsZ0JoRHRZcUI7RWdEdVlyQixvQjVDbGlCd0Q7RTRDbWlCeEQsOEJyRDFXYztFcUQwV2Qsc0JyRDFXYyxFQUFBO0VxRGtWdEI7SUEwQlksY3REOWxCSztJc0QrbEJMLDhCckQ5V1U7SXFEOFdWLHNCckQ5V1UsRUFBQTtFcURtVnRCO0lBOEJZLGNyRGxtQnFCO0lxRG1tQnJCLDhCckRsWFU7SXFEa1hWLHNCckRsWFUsRUFBQTtJcURtVnRCO01BaUNnQixjckRybUJpQjtNcURzbUJqQiw4QnJEclhNO01xRHFYTixzQnJEclhNLEVBQUE7RXFEbVZ0QjtJQXNDWSxZaERsWUM7SWdEbVlELG1DckRyZCtCO0lxRHNkL0IsY3JEL2pCb0Q7SXFEZ2tCcEQsa0JBQWtCO0lBQ2xCLGVoRDNaVSxFQUFBOztBZ0RpWHRCO0VBK0NZLFloRHJaRTtFZ0RzWkYsbUNyRDlkK0I7RXFEK2QvQiw0QnREeG5CSyxFQUFBOztBc0R1a0JqQjtFQXNEWSxZaEQzWkk7RWdENFpKLGlDckR0ZTJCO0VxRHVlM0IsNEJ0RC9uQkssRUFBQTs7QXNEdWtCakI7RUE2RFksWWhEamFPO0VnRGthUCxpQ3JEN2UyQjtFcUQ4ZTNCLDRCdER0b0JLLEVBQUE7O0FzRHVrQmpCO0VBb0VZLFloRHZhRjtFZ0R3YUUsaUNyRHBmMkI7RXFEcWYzQixjckRoa0JFLEVBQUE7O0FxRDBmZDtFQTJFWSxZaEQ3YUk7RWdEOGFKLGlDckQzZjJCO0VxRDRmM0IsY3JEMWxCdUQsRUFB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Q0ksY1JoY0s7TVFpY0wseUJUcmJLO01TdWJELHFCVHRiRztNUzBiUCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUemNTO0lTMmNMLHFCVDNjSztJUytjVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0E4RGpIdEI7RUFDSSxpQkFBaUI7RUFDakIsY0FBYyxFQUFBO0VBRmxCO0lBSVEsWXpEK05NO0l5RDlOTixpQzlEZStCO0k4RGQvQixlQUFlO0lBQ2YsYzlEdkcyQztJOER3RzNDLDhCOUR5R2M7SThEekdkLHNCOUR5R2MsRUFBQTtFOERqSHRCO0lBWVksYy9EN0lLO0krRDhJTCw4QjlEbUdVO0k4RG5HVixzQjlEbUdVLEVBQUE7RThEaEh0QjtJQWtCWSxjL0R0SkssRUFBQTs7QStEMEpqQjtFQUNJLGdCQUFnQjtFQUNoQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZLEVBQUE7RXZEUFI7SXVESVI7TUFLUSxpQkFBaUI7TUFDakIsMkJBQW9CO01BQXBCLDJCQUFvQjtNQUFwQixvQkFBb0IsRUFBQSxFQUUzQjs7QUFDRDtFQUNJLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1oseUI5RHhLNEI7RThEeUs1QiwyQzlEK0VrQjtFOEQvRWxCLG1DOUQrRWtCO0U4RC9FbEIsMkI5RCtFa0I7RThEL0VsQixvRDlEK0VrQixFQUFBO0U4RGxGdEI7SUFLUSx5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eVovUyxvQjJEelorUztFM0R5Wi9TLGEyRHpaK1M7RTNEMlozUyx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUd2QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUdoQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUm5aYTtFUW9aYix5QlR4WWE7RVN5WWIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JINEkrQjtFRzNJL0Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUdlpTO0VTMlpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFUTBRZDs7Ozs7Ozs7U1pzaDBCQyxFWTlnMEJDO0VEalhGO0k0RG5MUjtNM0R5Y1EsMEIyRHhjaVM7TTNEd2NqUyx1QjJEeGNpUztNM0R3Y2pTLGtCMkR4Y2lTO00zRHljalMsNENBQWtFLEVBQUEsRTJEeGN6RTtFM0Q2Y0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVGxiSztNU29iRCxxQlRwYkM7TVN3YkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNSM2NBO1FRNGNBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDVjUztJUzhjTCxxQlQ5Y0s7SVNrZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1JqZUksRUFBQTtFUXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxxQlZoTHlE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RzNCO0VBQ0Usd0JBQXdCLEVBQUE7O0F0RisxK0I1Qjs7RXdGdGcvQkUsY0FBYztFQUNkLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGlCQUxzSjtFQU10SixnQjNFRzhEO0UyRUY5RCxldkUyWCtCO0V1RXpYL0IseUJ0RndRbUU7RXNGdlFuRSxnQi9FNGNvRTtFK0UzY3BFLHlCcEYxRWU7RW9GMkVmLHFCdkV1WGM7VXVFdlhkLGF2RXVYYztFdUVyWGQsK0NyRi9FbUQ7RXFGZ0ZuRCxtQjNFTjhEO0UyRU85RCxtQnZFUDJCO0V1RVEzQixnQi9FM0R1QjtFK0U0RHZCLGNwRnpEK0I7RW9GNEQ3Qiw4RHBGNktrQjtFb0Y3S2xCLHNEcEY2S2tCO0VvRjdLbEIsOENwRjZLa0I7RW9GN0tsQix1RXBGNktrQjtFb0Z4SmxCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXhGaS8rQmxCOztJd0ZqZy9CRSxhQUFhO0lBQ2IseUJ0RnNQaUU7SXNGclBqRSx5QnBGM0ZhO0lvRjRGYiw0RHBGOEtpRDtZb0Y5S2pELG9EcEY4S2lEO0lvRjNLL0MsOERwRmtLZ0I7SW9GbEtoQixzRHBGa0tnQjtJb0ZsS2hCLDhDcEZrS2dCO0lvRmxLaEIsdUVwRmtLZ0IsRUFBQTs7QWlGckVwQjtFRzlFRSxlQUFlLEVBQUE7RUFEakI7SUFJSSxZQUFZLEVBQUE7O0FBSWhCOzs7RUFLSSx5QnBGOUcyQjtFb0YrRzNCLG1CdkV5VTZCLEVBQUE7O0FqQnlxK0JuQzs7RXdGMysrQkksd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsZ0J0RjlIaUIsRUFBQTs7QWMyOUVyQjtFd0V4MUVJLDhCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTs7QUFpQnhCO0VBQ0UsY3BGeEk2QixFQUFBOztBb0Z1SS9CO0VBQ0UsY3BGeEk2QixFQUFBOztBb0Z1SS9CO0VBQ0UsY3BGeEk2QixFQUFBOztBb0Z1SS9CO0VBQ0UsY3BGeEk2QixFQUFBOztBb0Z1SS9CO0VBQ0UsY3BGeEk2QixFQUFBOztB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O0lwRTJGRixXQTNGWSxFQUFBO0VvRVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QXRGMEZDO0VzRmpIRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0V2RXZHTSx1QkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00sc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDRCQXREMEU7SUg5RXhFLHNCQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSwyQkF0RDBFO01IOUV4RSxxQkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsV0EzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFdBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxnQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7O0FBOENIO0V2RTNJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRlJOO012RTNJTSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFZ0poRTs7QUFJRDtFdkVwSkksd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZDSjtNdkVwSkksdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RXNKaEU7O0FBWEg7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUySmhFOztBRTNKSDtFdEU2SUUsV3FFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxVcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsZ0JxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFlxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFd0ZuSk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RXRFNklFLDRCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLDJCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsNkJBdEQwRSxFQUFBOztBbEI0RHRFO0V3Rm5KTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0F4RnNKSztFd0Z4Sk47SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBRnFNRztFRzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUE7RXZGa0M1RDtJeUYvSEk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBSHVMUDtFRzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6RjhHOUI7RXNGb0RGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZtSkM7RXlGeElJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGc0lMO0V5Ri9ISTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGNkhMO0VzRjBERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6RmlIQztFc0YrQ0Y7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6RndKQztFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXNGcURGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSG9MRDtFSW5NRixlQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsb0NBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixxQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDBDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QTFGMkh6QjtFc0Z3RUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QXRGekVDO0VzRm1FRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUEsRUp5TTFCOztBdEZ6RUM7RXNGbUVGO0lJbk1GLGVBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG1DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixxQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYseUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQSxFSnlNMUI7O0FBekpTO0VEdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUNpUDdCO0lwRWpJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFb0VnSTNCO0lwRXBHRSxZQTNGWSxFQUFBO0VvRStMZDtJcEVwR0UsWUEzRlksRUFBQTtFb0UrTGQ7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBO0V0RnpIaEI7SXNGOEZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJcEUvSUEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0UrSU47SXBFcEdFLGdCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsV3FFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxXcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLFdxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsWXFFNUJnRSxFQUFBO0V2RmtDNUQ7SXNGOEZOO01wRS9JQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sV0FBTTtNQTJDSixZQTNGWSxFQUFBO0lvRStMZDtNcEUvSUEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJb0UrSU47TXBFcEdFLFlBM0ZZLEVBQUE7SW9FK0xkO01wRXBHRSxnQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEO0V0RmxKRDtJc0Z5Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDs7QUFPTDtFdkVqVEksc0JBQTZEO0VBQTdELHlCQUE2RCxFQUFBO0VmbUo3RDtJc0Y4Sko7TXZFalRJLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFdUVxVDlEOztBQUpIO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RTBUOUQ7O0FBbk5MO0V2RXZHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00scUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDZCQXREMEU7SUg5RXhFLHFCQUE2RDtJQUE3RCx3QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSw0QkF0RDBFO01IOUV4RSxvQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsWUEzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFlBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXRE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SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7O0FBa1REO0VLdFlJLDhCQUFtQyxFQUFBO0UzRjBJbkM7SXNGNFBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0Qzs7QXRGOVBHO0VzRmdRRjtJSzFZRSw2QkFBbUMsRUFBQSxFTDRZcEM7O0F0RjdQQztFc0YyUEY7SUsxWUUsNkJBQW1DLEVBQUEsRUw0WXBDOztBdEY3UEM7RXNGMlBGO0lLMVlFLDZCQUFtQyxFQUFBLEVMNFlwQzs7QXREelhNO0U0RG1DWCxrQkFBa0I7RUFDbEIsV3RGK1FzQjtFc0Y5UXRCLGNuRzVEK0I7RW1HNkQvQixlQUFlLEVBQUE7RXZHMmxqQ2Y7SXVGbi9pQ0UsVUFBVSxFQUFBO0VnQnRHWjtJQUVFLGNuRzdFYSxFQUFBO0VtR2tGZjtJQXhCQSxjdEYrUmM7SXNGOVJkLFd0RmtTYTtJc0ZqU2IsZ0J0RnFTWTtJc0ZwU1osY3RGdVN3QixFQUFBO0VzRmxSeEI7SUF4QkEsV3RGZ1NZO0lzRi9SWixTdEZtU1k7SXNGbFNaLGN0RnNTVztJc0ZyU1gsY3RGdVN3QixFQUFBOztBdUZyS3hCO0VBbEpBLGtCQUFrQjtFQUNsQixtQnZGb0JrQjtFdUZuQmxCLFVBQVU7RUFHVixtQjNGbUI4RDtFMkZsQjlELGlCQUFpQjtFQUNqQixjcEd2RGU7RW9HeURmLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQjtFQTJJZixZdkYrakJnQixFQUFBOztBdUYzakJsQjtFQTFJQSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUE2SVY7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Q0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0E5R3NFVjtFOEdyRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0Jn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SGxxRzFCLFVwSG1xR3NCLEVBQUEsRW9IaDVGN0I7TUFuZ0JUO1FBbVBnQix5QnpIMVhDO1F5SDRYRyw0RHpIbEhpQztnQnlIa0hqQyxvRHpIbEhpQztReUhvSHJDLDJDekg5SE07UXlIOEhOLG1Dekg5SE07UXlIOEhOLDJCekg5SE07UXlIOEhOLG9Eekg5SE0sRUFBQTtNeUh6SHRCO1FBZ1FnQiwwQkFBc0I7WUFBdEIsc0JBQXNCO1FBQ3RCLHFCQUFxQixFQUFBO1FsSHRPN0I7VWtIM0JSO1lBbVFvQixZcEg5WUk7WW9IaVpKLFlwSHNvR0wsRUFBQSxFb0hub0dGO01BelFiO1FBMlFnQix5QkFBcUI7UUFXckIseUJ6SHBaZ0I7UXlIc1paLGdCM0gxWkM7UTJINFpMLHlCekhqYUM7UXlIa2FELDRCekhqS007UXlIaUtOLG9CekhqS00sRUFBQTtRT3BHZDtVa0h0QlI7WUE2Um9CLDRCcEg0b0dRO2dCb0g1b0dSLGlCcEg0b0dRO29Cb0g1b0dSLFFwSDRvR1EsRUFBQSxFb0gxbkdmO1FsSHBSTDtVa0gzQlI7WUFpU29CLG9CQUFhO1lBQWIsb0JBQWE7WUFBYixhQUFhO1lBQ2IsZ0JBQWdCLEVBQUEsRUFhdkI7UUEvU2I7VUF5U29CLFlBQVk7VUFFUixnQjNIN2FILEVBQUE7TVV3b0JqQjtRaUhwTlksb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLFNwSHFsRzZCO1FvSHBsRzdCLFNwSHNsR0osRUFBQTtRRXIzR0o7VUNnZko7WWlIL01nQiw0QnBIbW5HYztnQm9Ibm5HZCxpQnBIbW5HYztvQm9Ibm5HZCxRcEhtbkdjLEVBQUEsRW9IOWxHckI7UWxIalRMO1VDMmVKO1lpSDFNZ0IsbUJBQU87Z0JBQVAsV0FBTztvQkFBUCxPQUFPO1lBQ1AsY3BIK2tHSCxFQUFBLEVvSGhrR0o7UUE1VWI7VUFnVW9CLGdCQUFnQjtVQUNoQixvQmhIaFk0QyxFQUFBO1FEMmxENUQ7VUFDSSxjUjVvRHlCO1VRNm9EekIsb0JDN2xEd0Q7VUQ4bER4RCxnQkh1aUJzQztVR3RpQnRDLGdCSGxwRGlCLEVBQUE7VUdtcERqQjtZQUNJLGNUN3BESztZUzhwREwsMEJBQTBCLEVBQUE7VUFFOUI7WUFDSSxjVDlwREssRUFBQTtRMEh3SGpCO1VBcVVvQixtQmhIcFk0QztVZ0hxWTVDLGdCcEh5a0c2QjtVb0h4a0c3QixjekgzY0gsRUFBQTtVeUhvSWpCO1lBeVV3QixTQUFTLEVBQUE7TWpIZ003QjtRaUh4TFksb0JoSGhaZ0QsRUFBQTtRRnFGeEQ7VUNtZko7WWlIdExnQiw0QnBId2xHTztnQm9IeGxHUCxpQnBId2xHTztvQm9IeGxHUCxRcEh3bEdPLEVBQUEsRW9IL2tHZDtRbEhqVUw7VUM4ZUo7WWlIbkxnQixVcEgwa0dOO1lvSHprR00sbUJBQVk7Z0JBQVosb0JBQVk7b0JBQVosWUFBWTtZQUNaLFNBQVM7WUFDVCxlcEgwa0dIO1lvSHprR0csZ0JBQWdCLEVBQUEsRUFFdkI7TWpIZ0xUO1FpSDlLWSxnQkFBZ0I7UUFHaEIsb0JoSGhhZ0Q7UWdIaWFoRCxnQkFBZ0I7UUFDaEIsYzFIOWRDLEVBQUE7UVFpSlQ7VUNzZko7WWlIdktnQiw0QnBIdWtHUTtnQm9IdmtHUixpQnBIdWtHUTtvQm9IdmtHUixRcEh1a0dRLEVBQUEsRW9IMWpHZjtRbEh2Vkw7VUNpZko7WWlIcEtnQixlQUFlO1lBQ2YsVXBIb2pHTjtZb0huakdNLGVwSGdqR0gsRUFBQSxFb0h4aUdKO01BbFhiO1FBb1hnQixXQUFXLEVBQUE7UWxIOVZuQjtVa0h0QlI7WUF3WG9CLDRCcEhzakdnQjtnQm9IdGpHaEIsaUJwSHNqR2dCO29Cb0h0akdoQixRcEhzakdnQixFQUFBLEVvSDlpR3ZCO1FsSHJXTDtVa0gzQlI7WUEyWG9CLGNwSHVrR08sRUFBQSxFb0hsa0dkO01sSHJXTDtRQ3FmSjtVaUg3SWdCLHdCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QixFQUFBLEVBRTlCO01BclliO1FBdVlnQixpQkFBaUIsRUFBQTtNQXZZakM7UUEwWWdCLFdBQVcsRUFBQTtR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TVI7TW5IOHdFWSxrQkhsaENRLEVBQUEsRUdna0NmO0VtSDV6RUw7SW5IaXhFWSxxQlJobUZxQjtJUWltRnJCLHFDUnozRVU7SVF5M0VWLDZCUnozRVUsRUFBQTtFMkh1R3RCO0luSHF4RVksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sdUJBQXVCO0lBQ3ZCLG1CQUFtQixFQUFBO0VtSHh4RS9CO0luSDJ4RVksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixZQUFZO0lBQ1osY0FBYztJQUNkLHlCUnZuRnFCO0lRd25GckIscUVSdDRFVTtJUXM0RVYsNkRSdDRFVSxFQUFBO0kySHNHdEI7TW5Ia3lFZ0IsWUhodkVJO01HaXZFSixtQ1JyK0UyQjtNUXMrRTNCLGVBQWU7TUFDZixjUjVvRkM7TVE2b0ZELDhDUjU0RU07TVE0NEVOLHNDUjU0RU0sRUFBQTtJMkhzR3RCO01uSHl5RWdCLHlCVHBvRkM7TVNxb0ZELHlDUmo1RU07TVFpNUVOLGlDUmo1RU0sRUFBQTtJMkh1R3RCO01uSDZ5RWdCLHlCVHhvRkMsRUFBQTtNNEgyVmpCO1FuSCt5RW9CLGlDUmwvRW1CLEVBQUE7STJIbU12QztNbkhtekVnQixhQUFhO01BQ2IsV0FBVztNQUNYLDhDUjU1RU07TVE0NUVOLHNDUjU1RU0sRUFBQTtNMkh1R3RCO1FuSHV6RW9CLGVBQWU7UUFDZixrQ1IvNUVFO1FRKzVFRiwwQlIvNUVFLEVBQUEiLCJmaWxlIjoib3BkZXhwcmVzcy9hcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXHJcblxyXG5UaGlzIGlzIHRoZSBiYXNlIG9mIHRoZSBhcHAuY3NzIGZpbGUsIHRvIG1vZGlmeSB0aGUgY29uZmlndXJhdGlvbiBvdCBhIHNpdGUgbGV2ZWwgZ28gdG8gL2JyYW5kaW5nLnNjc3MgaWYgeW91IG5lZWQgbW9kaWZ5IHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBvZiBhbGwgc2l0ZXMgZ28gdG8gL2dsb2JhbC92YXJpYWJsZXMuc2Nzcy5cclxuXHJcblsgSU1QT1JUQU5UIF0gLSBObyBCRVNQT0tFIENTUyBSVUxFJ1Mgc2hvdWxkIGJlIHNwZWNpZmllZCBoZXJlIG9yIGluIGJyYW5kaW5nLnNjc3MsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSB0aGUgY3NzIGRvIGl0IGluIGVpdGhlciAvZ2xvYmFsIG9yIGluIC9jb21wb25hbnRzIG90aGVyd2lzZSBpdCB3aWxsIGNhdXNlIHRlYXJzLCBJRiB5b3UgcmVhbGx5IGhhdmUgdG8gdG8gaXQgaW4gdGhlIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuc2NzcyB1bmRlciBhbGwgb2YgdGhlIFNBU1Mgb3ZlcnJpZGVzLlxyXG5cclxuKiovXG4vKlxyXG5cclxudmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBsaXN0IG9yIG1hcC5cclxuXHJcbkJyZWFrcG9pbnQgdmFsdWVzOlxyXG5TbWFsbCA9IDFcclxuTWVkaXVtID0gMlxyXG5MYXJnZSA9IDNcclxueExhcmdlID0gNFxyXG54eExhcmdlID0gNVxyXG5cclxuKi9cbi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RXhvKzI6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzAsOTAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwOzEsOTAwJmRpc3BsYXk9c3dhcFwiKTtcbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuOnJvb3QsIDpob3N0IHtcbiAgLS1mYS1zdHlsZS1mYW1pbHktYnJhbmRzOiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgLS1mYS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtYnJhbmRzLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhYixcbi5mYS1icmFuZHMge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mYS1tb25lcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDBcIjsgfVxuXG4uZmEtaG9vbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjdcIjsgfVxuXG4uZmEteWVscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOVwiOyB9XG5cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cblxuLmZhLWxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiOyB9XG5cbi5mYS1zaG9wd2FyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViNVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU4XCI7IH1cblxuLmZhLWF3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NVwiOyB9XG5cbi5mYS1yZWRoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmNcIjsgfVxuXG4uZmEteW9hc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjFcIjsgfVxuXG4uZmEtY2xvdWRmbGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZFwiOyB9XG5cbi5mYS11cHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTBcIjsgfVxuXG4uZmEtcGl4aXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NDBcIjsgfVxuXG4uZmEtd3BleHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZVwiOyB9XG5cbi5mYS1keWFsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTlcIjsgfVxuXG4uZmEtYml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YVwiOyB9XG5cbi5mYS1zdGFja3BhdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDJcIjsgfVxuXG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiOyB9XG5cbi5mYS1maXJzdC1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMFwiOyB9XG5cbi5mYS1tb2R4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7IH1cblxuLmZhLWd1aWxkZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2VcIjsgfVxuXG4uZmEtdm52OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBiXCI7IH1cblxuLmZhLXNxdWFyZS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOVwiOyB9XG5cbi5mYS1qcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtbWljcm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NhXCI7IH1cblxuLmZhLXFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ2XCI7IH1cblxuLmZhLW9yY2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGQyXCI7IH1cblxuLmZhLWphdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTRcIjsgfVxuXG4uZmEtaW52aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjBcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWRcIjsgfVxuXG4uZmEtY2VudGVyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4MFwiOyB9XG5cbi5mYS1nbGlkZS1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE2XCI7IH1cblxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiOyB9XG5cbi5mYS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtYnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTdcIjsgfVxuXG4uZmEtdW5pdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDlcIjsgfVxuXG4uZmEtd2htY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGRcIjsgfVxuXG4uZmEtcm9ja2V0Y2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOFwiOyB9XG5cbi5mYS12azpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OVwiOyB9XG5cbi5mYS11bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA1XCI7IH1cblxuLmZhLW1haWxjaGltcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5ZVwiOyB9XG5cbi5mYS1jc3MzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4YlwiOyB9XG5cbi5mYS1zcXVhcmUtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTJcIjsgfVxuXG4uZmEtdmltZW8tdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZFwiOyB9XG5cbi5mYS1jb250YW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmRcIjsgfVxuXG4uZmEtc3F1YXJlLWZvbnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVhZFwiOyB9XG5cbi5mYS1kZXNrcHJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhmXCI7IH1cblxuLmZhLWJyYXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjNjXCI7IH1cblxuLmZhLXNpc3RyaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWVcIjsgfVxuXG4uZmEtc3F1YXJlLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1pbnN0YWdyYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU1XCI7IH1cblxuLmZhLWJhdHRsZS1uZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzVcIjsgfVxuXG4uZmEtdGhlLXJlZC15ZXRpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjlkXCI7IH1cblxuLmZhLXNxdWFyZS1oYWNrZXItbmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZlwiOyB9XG5cbi5mYS1oYWNrZXItbmV3cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjsgfVxuXG4uZmEtZWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MlwiOyB9XG5cbi5mYS10aHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE4XCI7IH1cblxuLmZhLW5hcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDJcIjsgfVxuXG4uZmEtc3F1YXJlLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFkXCI7IH1cblxuLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7IH1cblxuLmZhLWFydHN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2FcIjsgfVxuXG4uZmEtbWFya2Rvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MGZcIjsgfVxuXG4uZmEtc291cmNldHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkM1wiOyB9XG5cbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5cbi5mYS1kaWFzcG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MVwiOyB9XG5cbi5mYS1mb3Vyc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7IH1cblxuLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7IH1cblxuLmZhLWdpdGh1Yi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTNcIjsgfVxuXG4uZmEtcGhvZW5peC1zcXVhZHJvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMVwiOyB9XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjsgfVxuXG4uZmEtYWxnb2xpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2Y1wiOyB9XG5cbi5mYS1yZWQtcml2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTNcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZlwiOyB9XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjsgfVxuXG4uZmEtZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7IH1cblxuLmZhLXNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWNcIjsgfVxuXG4uZmEtYXRsYXNzaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdiXCI7IH1cblxuLmZhLWxpbmtlZGluLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7IH1cblxuLmZhLWRpZ2l0YWwtb2NlYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTFcIjsgfVxuXG4uZmEtbmltYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWE4XCI7IH1cblxuLmZhLWNocm9tZWNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzhcIjsgfVxuXG4uZmEtZXZlcm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzlcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMFwiOyB9XG5cbi5mYS1hZHZlcnNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVlXCI7IH1cblxuLmZhLXdhdGNobWFuLW1vbml0b3Jpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODdcIjsgfVxuXG4uZmEtZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7IH1cblxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiOyB9XG5cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjsgfVxuXG4uZmEtY29kZXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYlwiOyB9XG5cbi5mYS1naXQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQxXCI7IH1cblxuLmZhLWx5ZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzNcIjsgfVxuXG4uZmEtcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWIyXCI7IH1cblxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjsgfVxuXG4uZmEtd2l6YXJkcy1vZi10aGUtY29hc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MzBcIjsgfVxuXG4uZmEtc3F1YXJlLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiOyB9XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFhXCI7IH1cblxuLmZhLW1lZXR1cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJlMFwiOyB9XG5cbi5mYS1jZW50b3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODlcIjsgfVxuXG4uZmEtYWRuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcwXCI7IH1cblxuLmZhLWNsb3Vkc21pdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODRcIjsgfVxuXG4uZmEtb3BlbnN1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmJcIjsgfVxuXG4uZmEtcGllZC1waXBlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYThcIjsgfVxuXG4uZmEtc3F1YXJlLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk3XCI7IH1cblxuLmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1jb2RpZXBpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NFwiOyB9XG5cbi5mYS1ub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE5XCI7IH1cblxuLmZhLW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYlwiOyB9XG5cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiOyB9XG5cbi5mYS1jYy1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTZcIjsgfVxuXG4uZmEtc2NyaWJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhhXCI7IH1cblxuLmZhLWRlYmlhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYlwiOyB9XG5cbi5mYS1vcGVuaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWJcIjsgfVxuXG4uZmEtaW5zdGFsb2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODFcIjsgfVxuXG4uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNlXCI7IH1cblxuLmZhLXNlbGxjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRhXCI7IH1cblxuLmZhLXNxdWFyZS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgxXCI7IH1cblxuLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgxXCI7IH1cblxuLmZhLXItcHJvamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmN1wiOyB9XG5cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjsgfVxuXG4uZmEtZnJlZWJzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNFwiOyB9XG5cbi5mYS12dWVqczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZlwiOyB9XG5cbi5mYS1hY2N1c29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OVwiOyB9XG5cbi5mYS1pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7IH1cblxuLmZhLWZvbnRpY29ucy1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMlwiOyB9XG5cbi5mYS1hcHAtc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmZcIjsgfVxuXG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiOyB9XG5cbi5mYS1pdHVuZXMtbm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNVwiOyB9XG5cbi5mYS1nb2xhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0MGZcIjsgfVxuXG4uZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmJcIjsgfVxuXG4uZmEtZ3JhdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNlwiOyB9XG5cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiOyB9XG5cbi5mYS11bmNoYXJ0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODRcIjsgfVxuXG4uZmEtZmlyc3RkcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMVwiOyB9XG5cbi5mYS1zcXVhcmUteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMVwiOyB9XG5cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMVwiOyB9XG5cbi5mYS13aWtpcGVkaWEtdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiOyB9XG5cbi5mYS13cHJlc3NyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLXJlbmRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTRcIjsgfVxuXG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA5XCI7IH1cblxuLmZhLWdhbGFjdGljLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBjXCI7IH1cblxuLmZhLW5mYy1kaXJlY3Rpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTUzMFwiOyB9XG5cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiOyB9XG5cbi5mYS1qb2dldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiN1wiOyB9XG5cbi5mYS1mZWRvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OThcIjsgfVxuXG4uZmEtc3RyaXBlLXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmFcIjsgfVxuXG4uZmEtbWV0YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTQ5YlwiOyB9XG5cbi5mYS1sYXJhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JkXCI7IH1cblxuLmZhLWhvdGphcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMVwiOyB9XG5cbi5mYS1ibHVldG9vdGgtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NFwiOyB9XG5cbi5mYS1zcXVhcmUtbGV0dGVyYm94ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZVwiOyB9XG5cbi5mYS1zdGlja2VyLW11bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjdcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYzXCI7IH1cblxuLmZhLWhpcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTJcIjsgfVxuXG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiOyB9XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjsgfVxuXG4uZmEtZGlzY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MlwiOyB9XG5cbi5mYS1jaHJvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjhcIjsgfVxuXG4uZmEtYXBwLXN0b3JlLWlvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MFwiOyB9XG5cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiOyB9XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7IH1cblxuLmZhLWNvbmZsdWVuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OGRcIjsgfVxuXG4uZmEtc2hvZWxhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGNcIjsgfVxuXG4uZmEtbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGNhXCI7IH1cblxuLmZhLWRvY2h1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NFwiOyB9XG5cbi5mYS1hY2Nlc3NpYmxlLWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjhcIjsgfVxuXG4uZmEtZWJheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNFwiOyB9XG5cbi5mYS1hbWF6b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzBcIjsgfVxuXG4uZmEtdW5zcGxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2NcIjsgfVxuXG4uZmEteWFybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlM1wiOyB9XG5cbi5mYS1zcXVhcmUtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjsgfVxuXG4uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLTUwMHB4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7IH1cblxuLmZhLXNxdWFyZS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiOyB9XG5cbi5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uZmEtYXN5bW1ldHJpazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MlwiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5mYS1ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG5cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiOyB9XG5cbi5mYS1oaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdmXCI7IH1cblxuLmZhLWdpdGtyYWtlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNlwiOyB9XG5cbi5mYS1rZXliYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY1XCI7IH1cblxuLmZhLWFwcGxlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNVwiOyB9XG5cbi5mYS1wYWRsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0YTBcIjsgfVxuXG4uZmEtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyY1wiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTJcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjsgfVxuXG4uZmEtZmVkZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTdcIjsgfVxuXG4uZmEtcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjsgfVxuXG4uZmEtc2hvcGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1N1wiOyB9XG5cbi5mYS1uZW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjEyXCI7IH1cblxuLmZhLXNxdWFyZS10aHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE5XCI7IH1cblxuLmZhLWhhY2tlcnJhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjdcIjsgfVxuXG4uZmEtcmVzZWFyY2hnYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY4XCI7IH1cblxuLmZhLXN3aWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGUxXCI7IH1cblxuLmZhLWFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjBcIjsgfVxuXG4uZmEtc3BlYWthcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmM1wiOyB9XG5cbi5mYS1hbmdyeWNyZWF0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZlXCI7IH1cblxuLmZhLXktY29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiOyB9XG5cbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjsgfVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk5XCI7IH1cblxuLmZhLWdvb2dsZS1zY2hvbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjNiXCI7IH1cblxuLmZhLXNxdWFyZS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWVcIjsgfVxuXG4uZmEtZ2l0bGFiLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVhZVwiOyB9XG5cbi5mYS1zdHVkaW92aW5hcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjhcIjsgfVxuXG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZVwiOyB9XG5cbi5mYS13b3JkcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWFcIjsgfVxuXG4uZmEtcHJvZHVjdC1odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7IH1cblxuLmZhLWZpcmVmb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjlcIjsgfVxuXG4uZmEtbGlub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI4XCI7IH1cblxuLmZhLWdvb2RyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOFwiOyB9XG5cbi5mYS1zcXVhcmUtb2Rub2tsYXNzbmlraTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NFwiOyB9XG5cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiOyB9XG5cbi5mYS1zaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEyXCI7IH1cblxuLmZhLXRoZW1laXNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMlwiOyB9XG5cbi5mYS1wYWdlNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkN1wiOyB9XG5cbi5mYS1oYXNobm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTQ5OVwiOyB9XG5cbi5mYS1yZWFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYlwiOyB9XG5cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjsgfVxuXG4uZmEtc3F1YXJlc3BhY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YmVcIjsgfVxuXG4uZmEtY2Mtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjJcIjsgfVxuXG4uZmEtYml0Y29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3OVwiOyB9XG5cbi5mYS1rZXljZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmFcIjsgfVxuXG4uZmEtb3BlcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmFcIjsgfVxuXG4uZmEtaXRjaC1pbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYVwiOyB9XG5cbi5mYS11bWJyYWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGU4XCI7IH1cblxuLmZhLWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZFwiOyB9XG5cbi5mYS11YnVudHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZGZcIjsgfVxuXG4uZmEtZHJhZnQyZGlnaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NlwiOyB9XG5cbi5mYS1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjlcIjsgfVxuXG4uZmEtaG91eno6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2NcIjsgfVxuXG4uZmEtZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjBcIjsgfVxuXG4uZmEtZGhsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkwXCI7IH1cblxuLmZhLXNxdWFyZS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiOyB9XG5cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7IH1cblxuLmZhLWJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlY1wiOyB9XG5cbi5mYS1wbGF5c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkZlwiOyB9XG5cbi5mYS1xdWluc2NhcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTlcIjsgfVxuXG4uZmEtbGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZFwiOyB9XG5cbi5mYS1ibG9nZ2VyLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2RcIjsgfVxuXG4uZmEtb3BlbmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2RcIjsgfVxuXG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiOyB9XG5cbi5mYS1zaWduYWwtbWVzc2VuZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjYzXCI7IH1cblxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiOyB9XG5cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjsgfVxuXG4uZmEtdHlwbzM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmJcIjsgfVxuXG4uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgxXCI7IH1cblxuLmZhLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTllXCI7IH1cblxuLmZhLWRhaWx5bW90aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDUyXCI7IH1cblxuLmZhLWFmZmlsaWF0ZXRoZW1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZiXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjsgfVxuXG4uZmEtYm9vdHN0cmFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM2XCI7IH1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjNcIjsgfVxuXG4uZmEtbmZjLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTUzMVwiOyB9XG5cbi5mYS1taW50Yml0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJmXCI7IH1cblxuLmZhLWV0aGVyZXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJlXCI7IH1cblxuLmZhLXNwZWFrZXItZGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzY1wiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU5XCI7IH1cblxuLmZhLXBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDlcIjsgfVxuXG4uZmEtYXZpYW5leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NFwiOyB9XG5cbi5mYS1lbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWYxXCI7IH1cblxuLmZhLWdvZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhN1wiOyB9XG5cbi5mYS1iaW1vYmplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzhcIjsgfVxuXG4uZmEtYnJhdmUtcmV2ZXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzZFwiOyB9XG5cbi5mYS1mYWNlYm9vay1mOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzllXCI7IH1cblxuLmZhLXNxdWFyZS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtbWFuZGFsb3JpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGZcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBhXCI7IH1cblxuLmZhLW9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYVwiOyB9XG5cbi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7IH1cblxuLmZhLWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNhXCI7IH1cblxuLmZhLXBlcmlzY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYVwiOyB9XG5cbi5mYS1mdWxjcnVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBiXCI7IH1cblxuLmZhLWNsb3Vkc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODNcIjsgfVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTFcIjsgfVxuXG4uZmEtbWl6dW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NjXCI7IH1cblxuLmZhLXNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYVwiOyB9XG5cbi5mYS1zcXVhcmUteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiOyB9XG5cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiOyB9XG5cbi5mYS1iYW5kY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkNVwiOyB9XG5cbi5mYS13cGZvcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk4XCI7IH1cblxuLmZhLWNsb3VkdmVyc2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NVwiOyB9XG5cbi5mYS11c3BzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UxXCI7IH1cblxuLmZhLW1lZ2Fwb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWEzXCI7IH1cblxuLmZhLW1hZ2VudG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzRcIjsgfVxuXG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiOyB9XG5cbi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNjXCI7IH1cblxuLmZhLWZseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxN1wiOyB9XG5cbi5mYS1hdmlhdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjFcIjsgfVxuXG4uZmEtaXR1bmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I0XCI7IH1cblxuLmZhLWN1dHRsZWZpc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGNcIjsgfVxuXG4uZmEtYmxvZ2dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3Y1wiOyB9XG5cbi5mYS1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjsgfVxuXG4uZmEtdmliZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDlcIjsgfVxuXG4uZmEtc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZVwiOyB9XG5cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7IH1cblxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDVcIjsgfVxuXG4uZmEtbGV0dGVyYm94ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZFwiOyB9XG5cbi5mYS1zeW1mb255OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNkXCI7IH1cblxuLmZhLW1heGNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiOyB9XG5cbi5mYS1ldHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ3XCI7IH1cblxuLmZhLWZhY2Vib29rLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZlwiOyB9XG5cbi5mYS1hdWRpYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzczXCI7IH1cblxuLmZhLXRoaW5rLXBlYWtzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMxXCI7IH1cblxuLmZhLWJpbGliaWxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlM2Q5XCI7IH1cblxuLmZhLWVybGFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZFwiOyB9XG5cbi5mYS14LXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MWJcIjsgfVxuXG4uZmEtY290dG9uLWJ1cmVhdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg5ZVwiOyB9XG5cbi5mYS1kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiOyB9XG5cbi5mYS00Mi1ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MFwiOyB9XG5cbi5mYS1pbm5vc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MFwiOyB9XG5cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiOyB9XG5cbi5mYS1lbGVtZW50b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzBcIjsgfVxuXG4uZmEtc3F1YXJlLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWVcIjsgfVxuXG4uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlYlwiOyB9XG5cbi5mYS1wYWxmZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDhcIjsgfVxuXG4uZmEtc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjsgfVxuXG4uZmEtcmVzb2x2aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U3XCI7IH1cblxuLmZhLXhib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTJcIjsgfVxuXG4uZmEtc2VhcmNoZW5naW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWJcIjsgfVxuXG4uZmEtdGlrdG9rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdiXCI7IH1cblxuLmZhLXNxdWFyZS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiOyB9XG5cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjsgfVxuXG4uZmEtcmVucmVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThiXCI7IH1cblxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7IH1cblxuLmZhLWdsaWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE1XCI7IH1cblxuLmZhLWxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7IH1cblxuLmZhLWh1YnNwb3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjJcIjsgfVxuXG4uZmEtZGVwbG95ZG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhlXCI7IH1cblxuLmZhLXR3aXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOFwiOyB9XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ5XCI7IH1cblxuLmZhLW1peGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH1cblxuLmZhLXNxdWFyZS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG5cbi5mYS12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYVwiOyB9XG5cbi5mYS1tZW5kZWxleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiM1wiOyB9XG5cbi5mYS11bmlyZWdpc3RyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNFwiOyB9XG5cbi5mYS1maWdtYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVlXCI7IH1cblxuLmZhLWNjLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmRcIjsgfVxuXG4uZmEtZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiOyB9XG5cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmRcIjsgfVxuXG4uZmEtY21wbGlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMzYwXCI7IH1cblxuLmZhLXVwd29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY0MVwiOyB9XG5cbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiOyB9XG5cbi5mYS1ncmlwZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhY1wiOyB9XG5cbi5mYS1qZWRpLW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBlXCI7IH1cblxuLmZhLXVpa2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAzXCI7IH1cblxuLmZhLWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTNcIjsgfVxuXG4uZmEtcGhhYnJpY2F0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGJcIjsgfVxuXG4uZmEtdXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDdcIjsgfVxuXG4uZmEtZWFybHliaXJkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5YVwiOyB9XG5cbi5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEzXCI7IH1cblxuLmZhLWF1dG9wcmVmaXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxY1wiOyB9XG5cbi5mYS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMlwiOyB9XG5cbi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7IH1cblxuLmZhLWdvb2dsZS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FiXCI7IH1cblxuLmZhLXZpYWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhOVwiOyB9XG5cbi5mYS1saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MwXCI7IH1cblxuLmZhLWdvb2dsZS1kcml2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYVwiOyB9XG5cbi5mYS1zZXJ2aWNlc3RhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWNcIjsgfVxuXG4uZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTVcIjsgfVxuXG4uZmEtYml0YnVja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cblxuLmZhLWltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjsgfVxuXG4uZmEtZGVlemVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc3XCI7IH1cblxuLmZhLXJhc3BiZXJyeS1waTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiYlwiOyB9XG5cbi5mYS1qaXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IxXCI7IH1cblxuLmZhLWRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NVwiOyB9XG5cbi5mYS1zY3JlZW5wYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1NzBcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkzXCI7IH1cblxuLmZhLWdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNlwiOyB9XG5cbi5mYS1kLWFuZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhkXCI7IH1cblxuLmZhLW1pY3JvYmxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxYVwiOyB9XG5cbi5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiOyB9XG5cbi5mYS1nZy1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjFcIjsgfVxuXG4uZmEtcGllZC1waXBlci1oYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTVcIjsgfVxuXG4uZmEta2lja3N0YXJ0ZXItazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiY1wiOyB9XG5cbi5mYS15YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTNcIjsgfVxuXG4uZmEtcmVhZG1lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGQ1XCI7IH1cblxuLmZhLWh0bWw1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNiXCI7IH1cblxuLmZhLXNlbGxzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiOyB9XG5cbi5mYS1zYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFlXCI7IH1cblxuLmZhLXdpcnNpbmRoYW5kd2VyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTJkMFwiOyB9XG5cbi5mYS13c2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyZDBcIjsgfVxuXG4uZmEtYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZlwiOyB9XG5cbi5mYS1zYWxlc2ZvcmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNiXCI7IH1cblxuLmZhLW9jdG9wdXMtZGVwbG95OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH1cblxuLmZhLW1lZGFwcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzZcIjsgfVxuXG4uZmEtbnM4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q1XCI7IH1cblxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7IH1cblxuLmZhLWFwcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcxXCI7IH1cblxuLmZhLWZvcnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiOyB9XG5cbi5mYS13YXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNmXCI7IH1cblxuLmZhLWNjLWpjYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiOyB9XG5cbi5mYS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYlwiOyB9XG5cbi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYlwiOyB9XG5cbi5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZkY1wiOyB9XG5cbi5mYS1ydXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdhXCI7IH1cblxuLmZhLXdpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjZlwiOyB9XG5cbi5mYS1zcXVhcmUtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNVwiOyB9XG5cbi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNVwiOyB9XG5cbi5mYS1zdXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjlcIjsgfVxuXG4uZmEtd2ViZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY1Y1wiOyB9XG5cbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiOyB9XG5cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7IH1cblxuLmZhLXN0YXlsaW5rZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjVcIjsgfVxuXG4uZmEta2FnZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWZhXCI7IH1cblxuLmZhLXNwYWNlLWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWNcIjsgfVxuXG4uZmEtZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG5cbi5mYS1jcGFuZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODhcIjsgfVxuXG4uZmEtZ29vZHJlYWRzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTlcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cblxuLmZhLXNxdWFyZS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiOyB9XG5cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlYVwiOyB9XG5cbi5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY1XCI7IH1cblxuLmZhLXBlcmJ5dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODNcIjsgfVxuXG4uZmEtZ3J1bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWRcIjsgfVxuXG4uZmEtd2VlYmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNjXCI7IH1cblxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7IH1cblxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjsgfVxuXG4uZmEtYmxhY2stdGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdlXCI7IH1cblxuLmZhLXRoZW1lY286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YzZcIjsgfVxuXG4uZmEtcHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UyXCI7IH1cblxuLmZhLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjsgfVxuXG4uZmEtYm90czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTM0MFwiOyB9XG5cbi5mYS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNVwiOyB9XG5cbi5mYS1ob3JuYmlsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjU5MlwiOyB9XG5cbi5mYS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOFwiOyB9XG5cbi5mYS1pZGVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiOyB9XG5cbi5mYS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDNcIjsgfVxuXG4uZmEtZGV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmNjXCI7IH1cblxuLmZhLXNrZXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdjNlwiOyB9XG5cbi5mYS15YW5kZXgtaW50ZXJuYXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNFwiOyB9XG5cbi5mYS1jYy1hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cblxuLmZhLXViZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDJcIjsgfVxuXG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDliXCI7IH1cblxuLmZhLXBocDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1N1wiOyB9XG5cbi5mYS1hbGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2NDJcIjsgfVxuXG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiOyB9XG5cbi5mYS1za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiOyB9XG5cbi5mYS1maXJlZm94LWJyb3dzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDdcIjsgfVxuXG4uZmEtcmVwbHlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U2XCI7IH1cblxuLmZhLXN1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDZcIjsgfVxuXG4uZmEtamVua2luczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNlwiOyB9XG5cbi5mYS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7IH1cblxuLmZhLXJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTlcIjsgfVxuXG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7IH1cblxuLmZhLWJ1ZmZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzN1wiOyB9XG5cbi5mYS1ucG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDRcIjsgfVxuXG4uZmEteWFtbWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQwXCI7IH1cblxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiOyB9XG5cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiOyB9XG5cbi5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTNcIjsgfVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmJcIjsgfVxuXG4uZmEtc3R1YmJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVjN1wiOyB9XG5cbi5mYS10ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiOyB9XG5cbi5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiOyB9XG5cbi5mYS1vbGQtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTBcIjsgfVxuXG4uZmEtb2R5c2VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWM2XCI7IH1cblxuLmZhLXNxdWFyZS13aGF0c2FwcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwY1wiOyB9XG5cbi5mYS13aGF0c2FwcC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtbm9kZS1qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkM1wiOyB9XG5cbi5mYS1lZGdlLWxlZ2FjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OFwiOyB9XG5cbi5mYS1zbGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1zbGFjay1oYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7IH1cblxuLmZhLW1lZHJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M4XCI7IH1cblxuLmZhLXVzYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4N1wiOyB9XG5cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjsgfVxuXG4uZmEtdmFhZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA4XCI7IH1cblxuLmZhLXF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM0XCI7IH1cblxuLmZhLXNxdWFyZS14LXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MWFcIjsgfVxuXG4uZmEtcmVhY3RldXJvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3NWRcIjsgfVxuXG4uZmEtbWVkaXVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNhXCI7IH1cblxuLmZhLW1lZGl1bS1tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNhXCI7IH1cblxuLmZhLWFtaWxpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZFwiOyB9XG5cbi5mYS1taXhjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OVwiOyB9XG5cbi5mYS1mbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NGRcIjsgfVxuXG4uZmEtdmlhY29pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzN1wiOyB9XG5cbi5mYS1jcml0aWNhbC1yb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmM5XCI7IH1cblxuLmZhLXNpdHJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTQ0YVwiOyB9XG5cbi5mYS1kaXNjb3Vyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTNcIjsgfVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7IH1cblxuLmZhLW1hc3RvZG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY2XCI7IH1cblxuLmZhLWFpcmJuYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNFwiOyB9XG5cbi5mYS13b2xmLXBhY2stYmF0dGFsaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTE0XCI7IH1cblxuLmZhLWJ1eS1uLWxhcmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmOGE2XCI7IH1cblxuLmZhLWd1bHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYxXCI7IH1cblxuLmZhLXN0cmF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyOFwiOyB9XG5cbi5mYS1lbWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyM1wiOyB9XG5cbi5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg1XCI7IH1cblxuLmZhLXRlYW1zcGVhazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOVwiOyB9XG5cbi5mYS1wdXNoZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTFcIjsgfVxuXG4uZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMVwiOyB9XG5cbi5mYS1udXRyaXRpb25peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNlwiOyB9XG5cbi5mYS13b2R1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH1cblxuLmZhLWdvb2dsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzlcIjsgfVxuXG4uZmEtaW50ZXJjb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YWZcIjsgfVxuXG4uZmEtemhpaHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2M2ZcIjsgfVxuXG4uZmEta29ydnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJmXCI7IH1cblxuLmZhLXBpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTQzYVwiOyB9XG5cbi5mYS1zdGVhbS1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjZcIjsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgLS1mYS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEZyZWUnOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFyLFxuLmZhLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuOnJvb3QsIDpob3N0IHtcbiAgLS1mYS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEZyZWUnOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYXMsXG4uZmEtc29saWQge1xuICBmb250LXdlaWdodDogOTAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBCcmFuZHMnO1xuICBzcmM6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1icmFuZHMtNDAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC50dGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFNvbGlkJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1zb2xpZC05MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBSZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAud29mZjJcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1yZWd1bGFyLTQwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBzcmM6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8uc3ZnXCIpIGZvcm1hdChcInN2Z1wiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG4vKiogXHJcbiAgICAtLS0tLSBFbWFpbCBUZW1wbGF0ZXMgLS0tLS0gXHJcblxyXG4gICAgVEhJTkshLi4uLi4uIExJS0UgUkVBTExZIFRISU5LIE9VVExPT0sgQkVGT1JFIE1BS0lORyBDSEFOR0VTLCB0aGluZ3MgdGhhdCB0aGVzZSB2YXJpYWJsZXMgd2lsbCBlZmZlY3Q6IFxyXG4gICAgLSBGcmFnbWVudHMgKCBhcmUgY29sb3VycyBnZW5lcmljICkgXHJcbiAgICAtIE91dGxvb2sgXHJcbiAgICAtIERpcGxvbWF0IGVtYWlsIHBhcmFtZXRlcnNcclxuXHJcbioqL1xuLm1vYmlsZS1icmVhayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vYmlsZS1icmVhayB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG8gOHB4OyB9IH1cblxuLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEucHJlc2V0MSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxLnByZXNldDE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMS5wcmVzZXQxOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG5ib2R5IGgxIHtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuXG5oMSB7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaDEucHJlc2V0MSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgaDEucHJlc2V0MiB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoMS5wcmVzZXQyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgaDEucHJlc2V0MjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIGgyLnByZXNldDEge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIGgyLnByZXNldDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsgfVxuICBoMi5wcmVzZXQzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoMi5wcmVzZXQzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgaDIucHJlc2V0MzpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgaDIucHJlc2V0NCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBoMi5wcmVzZXQ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG5cbmgzIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG4gIGgzLnByZXNldDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBoMy5wcmVzZXQyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgIGgzLnByZXNldDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuXG5oNCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5oNSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5oNiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLmNhbGxvdXQuYWxlcnQgaDUsIC5jYWxsb3V0LmFsZXJ0IHAge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1jb250YWluZXIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGV4dC1jb250YWluZXIuYWxpZ24tbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjM2U0NzViKTtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgYS5zdWNjZXNzIHtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIGEuc3VjY2VzczpiZWZvcmUsIGEuc3VjY2VzczphZnRlciB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICBhLndhcm5pbmcge1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgYS53YXJuaW5nOmJlZm9yZSwgYS53YXJuaW5nOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIGEuYWxlcnQge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgYS5hbGVydDpiZWZvcmUsIGEuYWxlcnQ6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgYS5lZGl0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIGEuZWRpdDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+BhFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIGEuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIGEubmV3cy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGEubmV3cy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvh6pcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5uZXdzLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEubmV3cy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLm5ld3MtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgYS5ibG9nLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgYS5ibG9nLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+ChlwiO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLmJsb2ctYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5ibG9nLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGEuYmxvZy1idXR0b246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEuYmxvZy1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhLmV2ZW50cy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGEuZXZlbnRzLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bs1wiO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLmV2ZW50cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmV2ZW50cy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLmV2ZW50cy1idXR0b246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEuZXZlbnRzLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIGEuZXh0ZXJuYWwtbGluay1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+CjlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMyMGFjZTkpO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgYTphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCwgIzQ4NDg0OCk7IH1cbiAgYS5wZGYtZG93bmxvYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgYS5wZGYtZG93bmxvYWQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eBXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEucGRmLWRvd25sb2FkOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxub2wgbGkge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5hZGRyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGFkZHJlc3Mgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuc3BhbltjbGFzcyo9XCItaWNvblwiXSAuaWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIC5pY29uLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICMyYjY5YzY7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLnByaWNlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuaHIge1xuICBtYXJnaW46IDI1cHggMDsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy41XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTEge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIgaHIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG50YWJsZSB7XG4gIC0tYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xuICAtLWJvcmRlci1ob3Zlci1jb2xvdXI6ICNhZWFlYWU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICB0YWJsZS5zdHJpcGVkIHRyIHtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIHRhYmxlLnNob3ctYm9yZGVyLWJvdHRvbSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHI6bm90KDpsYXN0LWNoaWxkKTpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaG92ZXItY29sb3VyKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfSB9XG4gIHRhYmxlLnNob3ctYm9yZGVycyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICB0YWJsZS5zaG93LWJvcmRlcnMgdGgsIHRhYmxlLnNob3ctYm9yZGVycyB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmZpcnN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpsYXN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpmaXJzdC1jaGlsZCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpsYXN0LWNoaWxkLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG4gIHRhYmxlLmhpZ2hsaWdodC1maXJzdC1jb2x1bW4gdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICB0YWJsZS5wcmVzZXQtMSB7XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMSB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0ZCwgdGFibGUucHJlc2V0LTEgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTEucm93LXNwYWNpbmcgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAtMTBweDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZC5pbWFnZS1jb2wge1xuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkLmltYWdlLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSk6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KC5wZGYtZG93bmxvYWQpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0yIHtcbiAgICAgIG1hcmdpbjogNDVweCAwIDQwcHg7IH0gfVxuICB0YWJsZS5wcmVzZXQtMiB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweDsgfVxuICB0YWJsZS5wcmVzZXQtMyB0ZCwgdGFibGUucHJlc2V0LTMgdGgge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTMgdGQsIHRhYmxlLnByZXNldC0zIHRoIHtcbiAgICAgICAgcGFkZGluZzogMXB4IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5wcmVzZXQtMy5yb3ctYWRkaXRpb25hbC1wYWRkaW5nIHRkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTMgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ciB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTMgdGJvZHkgdHIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdGQsIHRhYmxlLnByZXNldC0zIHRib2R5IHRoIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTMgdGJvZHkgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgdGFibGUucHJlc2V0LTMgdGJvZHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgdGFibGUucHJlc2V0LTMgdGJvZHkgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgdGFibGUucm93LXNwYWNpbmcge1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItc3BhY2luZzogMCAxMHB4OyB9XG4gICAgdGFibGUucm93LXNwYWNpbmc6aGFzKC5yb3ctaW5wdXQtdG9nZ2xlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICB0YWJsZSB0Ym9keSBzcGFuLmNvbC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZSB0Ym9keSBzcGFuLmNvbC1sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgdGFibGUgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuICB0YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUgdGQubm8tcGRmLWRvd25sb2FkIHNwYW4udGV4dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9IH1cbiAgdGFibGUgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTI4MTFmOyB9XG4gIHRhYmxlIHRyLnN1Y2Nlc3MgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmOyB9XG4gICAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZjVlMDU7IH1cbiAgdGFibGUgdHIud2FybmluZyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjVlMDU7IH1cbiAgICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIHRhYmxlIHRyLmFsZXJ0IC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNiMjBjMGM7IH1cbiAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgdGFibGUgdHIuZXJyb3Itcm93LCB0YWJsZSB0ci5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSB0ciArIHRyLmVycm9yLXJvdyB0ZCwgdGFibGUgdHIgKyB0ci5lcnJvciB0ZCB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmZmZmZjsgfSB9XG4gIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCwgdGFibGUgdHIuZXhwaXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyLCB0YWJsZSB0ci5leHBpcmVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCB0ZCwgdGFibGUgdHIuZXhwaXJlZCB0ZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQgLnJlbW92ZS1jb2wsIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUtY29sLCB0YWJsZSB0ci5leHBpcmVkIC5yZW1vdmUtY29sLCB0YWJsZSB0ci5leHBpcmVkIC5leHBpcmUtZGF0ZS1jb2wge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICB0YWJsZSB0ci5yb3ctaW5wdXQtdG9nZ2xlIHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5yb3ctaW5wdXQtdG9nZ2xlOmhhcyhpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKSB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICB0YWJsZSB0ci5yb3ctaW5wdXQtdG9nZ2xlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy03KTsgfVxuICB0YWJsZSB0cjpob3ZlciB0ZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgdGFibGUgLnN1Y2Nlc3MtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgdGFibGUgLmZhaWxlZC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgapcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICB0YWJsZSAuZmFpbGVkLXJlYXNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZSAuZmFpbGVkLXJlYXNvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSAuZmFpbGVkLWljb24sIHRhYmxlIC5zdWNjZXNzLWljb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICB0YWJsZSAuZmFpbGVkLWljb246YmVmb3JlLCB0YWJsZSAuc3VjY2Vzcy1pY29uOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUgLm9yZGVyLXRvdGFsLWNvbCwgdGFibGUgdGguY3N2LWltcG9ydC1jb2wge1xuICAgICAgd2lkdGg6IDIwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICB0YWJsZSAuYWRkcmVzcy1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvi61cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgdGFibGUgLmNhcmQtdHlwZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KdXCI7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIHRhYmxlIC5leHBpcmVkLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUgLmV4cGlyZWQtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSAudG9vbHRpcC1jb250YWluZXIuc3RhdGUtaW5kaWNhdG9yIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogOXB4OyB9IH1cblxudGhlYWQucHJlc2V0LTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZC5wcmVzZXQtMSB0aCB7XG4gICAgcGFkZGluZzogMCA1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgdGhlYWQucHJlc2V0LTEgdGggYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgdGhlYWQucHJlc2V0LTEgdGhbY2xhc3MkPWRlc2NyaXB0aW9uLWNvbF0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGhlYWQucHJlc2V0LTEgKyB0Ym9keSAuY29sLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxudGhlYWQucHJlc2V0LTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZC5wcmVzZXQtMiB0aCB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbnRoZWFkIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIGxpIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyAuY29tcGFyaXNvbi10YWJsZS1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cblxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB0aCB7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDE1JTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lOyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogNTglO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGFkYWRhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IHRib2R5IHRkLmFjdGl2ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5bY29tcGFyaXNvbi10YWJsZV0uYWxpZ24tdmFsdWUtcmlnaHQgLmNvbXBhcmlzb24tc3VtbWFyeSB0ciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0uYWxpZ24tdmFsdWUtcmlnaHQgLmNvbXBhcmlzb24tc3VtbWFyeSAuY29tcGFyaXNvbi1jdXJyZW50bHktc2VsZWN0ZWQge1xuICBmbGV4LWdyb3c6IDE7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbltjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkgLmNvbXBhcmlzb24tY29sdW1uLWhlYWRpbmcge1xuICAgIHdpZHRoOiA1OCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG5cbnRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQgLmNvbC1sYWJlbCB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIC5jb2wtbGFiZWwge1xuICAgICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkLmNvbHVtbi1lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQgLmNvbC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKTpoYXMoLmNvbC1sYWJlbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdHIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMWZyO1xuICAgIGdhcDogMCAxMHB4OyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKTpoYXMoLmNvbC1sYWJlbCkge1xuICAgICAgZGlzcGxheTogZ3JpZDsgfVxuICAgIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIC5jb250cm9sIHtcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtyZXNwb25zaXZlLXJldmVhbF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSArIHRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uc3VjY2VzcyB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxMjgxMWY7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLnN1Y2Nlc3MgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS53YXJuaW5nIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmNWUwNTsgfVxuICAgICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ud2FybmluZyAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFsZXJ0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2IyMGMwYzsgfVxuICAgICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWxlcnQgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmhlYWRlci1jb250YWluZXIgLmhlYWRlci1pdGVtIGEge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmhlYWRlci1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbdcIjsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFjdGl2ZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIG1hc2staW1hZ2U6IG5vbmU7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxOHB4IDIwcHg7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmhlYWRlci1jb250YWluZXI6aGFzKC51bnJlYWQtY29sKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmhlYWRlci1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbnRlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb2wtbGFiZWwge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi50YWJsZS1zb3J0LWNvbC5hc2NlbmQgYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCLvgbdcIjsgfVxuXG4udGFibGUtc29ydC1jb2wuZGVzY2VuZCBidXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+BuFwiOyB9XG5cbi50YWJsZS1zb3J0LWNvbCBidXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjODc4Nzg3OyB9XG4gICAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM4Nzg3ODc7IH1cblxudGQubm90aWZpY2F0aW9uLWNvbDpob3ZlciAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xuICB3aWR0aDogNnB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzOyB9XG5cbnRkLm5vdGlmaWNhdGlvbi1jb2w6aG92ZXIgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGxlZnQ6IDZweDtcbiAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgMC4xOCk7XG4gIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzLCBib3JkZXItd2lkdGggMC42cywgbGVmdCAwLjZzOyB9XG5cbi51bnJlYWQtY29sIHtcbiAgd2lkdGg6IDQ4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAudW5yZWFkLWNvbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVucmVhZC1jb2wge1xuICAgICAgd2lkdGg6IDIwcHg7IH0gfVxuXG4udGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4OyB9XG4gIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB6LWluZGV4OiA1MDAwO1xuICAgIGN1cnNvcjogdGV4dDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44cywgbGVmdCAwLjhzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHAge1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUucGF5bWVudCAucmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZSAuZXhwaXJlLWRhdGUtY29sIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxudGFibGUucmV1c2FibGUtY2FyZC10YWJsZSB0aC5zZWxlY3QtY29sLCB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIHRkLnNlbGVjdC1jb2wge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDApO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICAgIHdpZHRoOiA4NTBweDsgfSB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgdGJvZHkgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAudXBkYXRlZC1jb2wsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLnVwZGF0ZWQtYnktY29sIHtcbiAgICB3aWR0aDogMTklOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC5hY2Nlc3MtbGV2ZWwtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cnkge1xuICBtYXJnaW46IDA7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRkIHtcbiAgICBwYWRkaW5nOiAyLjVweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5yZXZpc2lvbi1jb2wge1xuICAgICAgd2lkdGg6IDUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC51cGRhdGVkLWJ5LWNvbCB7XG4gICAgICB3aWR0aDogMTclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC51cGRhdGVkLWNvbCB7XG4gICAgICB3aWR0aDogMTElOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5wdWJsaXNoZWQtY29sLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAuYWNjZXNzLWxldmVsLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuXG50YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB7XG4gIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGg6IDJweDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQge1xuICAgIGJvcmRlci13aWR0aDogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTsgfVxuICAgIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCArIC5uZXN0ZWQtdGFibGUtcm93IHtcbiAgICAgIGJvcmRlci13aWR0aDogMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCArIC5uZXN0ZWQtdGFibGUtcm93ID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAyNXB4OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHRoZWFkIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHRib2R5IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvbGRlci1maWx0ZXJzLXRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5mb2xkZXItZmlsdGVycy10YWJsZSB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYmxlLWNvbnRhaW5lci50YWJsZS1zY3JvbGwtZW5hYmxlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLnRhYmxlLWNvbnRhaW5lci50YWJsZS1zY3JvbGwtZW5hYmxlZCB0YWJsZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSB0aGVhZDphZnRlciwgLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtYXQtYm90dG9tIHRoZWFkOmFmdGVyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggOXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSwgLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtYXQtdG9wIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyksIGluc2V0IDAgLTEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5hdWRpdC10cmFpbC1lbnRyaWVzIHtcbiAgbWF4LWhlaWdodDogNDAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1jb250YWluZXIuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MDBweDsgfSB9XG5cbi50YWJsZS1jb250YWluZXIgdGFibGUge1xuICBtYXJnaW46IDA7IH1cblxuLnRhYmxlLWNvbnRhaW5lciB0aGVhZCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgei1pbmRleDogMTsgfVxuICAudGFibGUtY29udGFpbmVyIHRoZWFkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuLypcclxuLS0tLSBJbnB1dHMgLS0tLSBcclxuLSBTdHlsaW5nIGZvciBmb3JtIGlucHV0cyAoIHNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIClcclxuLSBRdWFudGl0eSBzZWxlY3RvcnNcclxuLSBGb3Jtc1xyXG4gIC0gRmllbGRzZXRzXHJcbiAgLSBGaWVsZHNcclxuLSBWYWxpZGF0aW9uXHJcbiAgLSBGb3JtIGVycm9ycyBmcm9tIHRoZSBzZXJ2ZXJcclxuICAtIEFkdmFuY2VkIHZhbGlkYXRpb24gKCBzZXR0aW5nIHBhc3N3b3JkIClcclxuLSBQcmltYXJ5LCBTZWNvbmRhcnksIEV0YyBidXR0b25zIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cclxuLSBVSSBibG9jayBwYW5lLlxyXG4qL1xuZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmZvcm0uaXMtaW52YWxpZCBidXR0b25bdHlwZT1zdWJtaXRdLCBmb3JtLmlzLWludmFsaWQgLmZvcm0tc3VibWl0LWJ1dHRvbiB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDsgfVxuICBmb3JtLmlzLWludmFsaWQgYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlciwgZm9ybS5pcy1pbnZhbGlkIC5mb3JtLXN1Ym1pdC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGMgIWltcG9ydGFudDsgfVxuXG5mb3JtLmlzLWludmFsaWQgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC40OyB9XG5cbmJ1dHRvbjpkaXNhYmxlZCwgYnV0dG9uLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbnNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY29udHJvbC50ZXh0IGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jb250cm9sLnRleHQucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDM2MHB4IC0gNDVweCk7IH0gfVxuXG4uZmllbGQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQge1xuICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5maWVsZC5hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZpZWxkLmFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZmllbGQgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDVweCk7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDVweCAtICAxNjBweCk7XG4gICAgICAgICAgZmxleDogMTsgfSB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgb3JkZXI6IDQ7IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciAucGFzc3dvcmQtcmV2ZWFsIHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgLmZpZWxkIGxhYmVsIC5sYWJlbCArIHRleHRhcmVhIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWVsZCBsYWJlbCAubGFiZWwgLmFkdmlzb3J5LXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkIGxhYmVsLnRleHQsIC5maWVsZCBsYWJlbC5lbWFpbCwgLmZpZWxkIGxhYmVsLnRlbCwgLmZpZWxkIGxhYmVsLm51bWJlciwgLmZpZWxkIGxhYmVsLnRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQ6aGFzKGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLnByaW1hcnktYnV0dG9uKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5maWVsZCArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZmllbGQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSkge1xuICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5sYWJlbCArIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5maWVsZCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmZpZWxkIHRleHRhcmVhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5lcnJvci1ibG9jayB7XG4gICAgICBtYXgtd2lkdGg6IDU4MS44MTgxOHB4OyB9IH1cbiAgLmZpZWxkOm5vdCgubWVkaXVtKTpub3QoLmxhcmdlKTpub3QoLmxhcmdlLTEpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZpZWxkLnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLmZpZWxkLnNtYWxsIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLnNtYWxsIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gIC5maWVsZC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLm1lZGl1bSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5tZWRpdW0gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4OyB9IH1cbiAgLmZpZWxkLmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC5sYXJnZSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubGFyZ2UgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDQ0MHB4OyB9IH1cbiAgLmZpZWxkLmZ1bGwtd2lkdGggLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQubGlzdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5maWVsZC5saXN0IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLmxpc3QgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4OyB9IH1cbiAgLmZpZWxkIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5maWVsZCAubGFiZWwgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuZmllbGQgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IDA7IH1cbiAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSBsYWJlbCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gbGFiZWwsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmZpZWxkLnNtYWxsLTEsIC5maWVsZC5tZWRpdW0tMSwgLmZpZWxkLmxhcmdlLTEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZC5zbWFsbC0xLCAuZmllbGQubWVkaXVtLTEsIC5maWVsZC5sYXJnZS0xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDM2MHB4OyB9IH1cbiAgLmZpZWxkLnNtYWxsLTIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZpZWxkLnNtYWxsLTMge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBsaSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMiwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMywgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNiwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGEge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGltZyB7XG4gICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mby5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxvb2t1cC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBmb250LXNpemU6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBmb250LWZhbWlseTogY2FwdGlvbjtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuOHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyICsgYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdICsgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5wYXNzd29yZC1yZXZlYWwge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5wYXNzd29yZC1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BrlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc3R5bGU6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFzc3dvcmQtcmV2ZWFsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAucGFzc3dvcmQtcmV2ZWFsLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnBhc3N3b3JkLXJldmVhbC5pbnB1dC1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY3Rpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hY3Rpb24tYnV0dG9uOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFjdGlvbi1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5ob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWwuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWw6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmZvY3VzLXZpc2libGUsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICAgIGNvbG9yOiAjZmY1ZTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24ud2FybmluZy5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VkZWVlZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24ud2FybmluZ1tkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VkZWVlZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWNlbnRlciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ1dHRvbjEsIC5wcmltYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5idXR0b24xOmhvdmVyLCAuYnV0dG9uMS5ob3ZlciwgLnByaW1hcnktYnV0dG9uOmhvdmVyLCAucHJpbWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNzI3OThhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5idXR0b24xOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5idXR0b24xLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbWFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5idXR0b24xOmFjdGl2ZSwgLmJ1dHRvbjEuYWN0aXZlLCAucHJpbWFyeS1idXR0b246YWN0aXZlLCAucHJpbWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZCwgLmJ1dHRvbjEuZGlzYWJsZWQsIC5idXR0b24xW2Rpc2FibGVkXSwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQsIC5wcmltYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbjE6ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24xLmRpc2FibGVkOmhvdmVyLCAucHJpbWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wcmltYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5idXR0b24xOmZvY3VzLXZpc2libGUsIC5wcmltYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJ1dHRvbjEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW1hcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlciwgLnNlY29uZGFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5zZWNvbmRhcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zZWNvbmRhcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbjphY3RpdmUsIC5zZWNvbmRhcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnNlY29uZGFyeS1idXR0b246ZGlzYWJsZWQsIC5zZWNvbmRhcnktYnV0dG9uLmRpc2FibGVkLCAuc2Vjb25kYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnNlY29uZGFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zZWNvbmRhcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnNlY29uZGFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGVydGlhcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRlcnRpYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjAxMDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAudGVydGlhcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAudGVydGlhcnktYnV0dG9uOmFjdGl2ZSwgLnRlcnRpYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQsIC50ZXJ0aWFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAudGVydGlhcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAudGVydGlhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucXVhdGVybmFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDMuNXB4IDE2cHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVhdGVybmFyeS1idXR0b246aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1YXRlcm5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWF0ZXJuYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucXVhdGVybmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWF0ZXJuYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnF1aW5hcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1aW5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVpbmFyeS1idXR0b246aG92ZXIsIC5xdWluYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiZmJmYmY7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1aW5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWluYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1aW5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1aW5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1aW5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVpbmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWluYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnF1aW5hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucXVpbmFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucXVpbmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtYnV0dG9uOmhvdmVyLCAuY21zLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG9yKChkZWZhdWx0OiB0cmFuc3BhcmVudCwgaG92ZXI6ICMzZTQ3NWIsIGFjdGl2ZTogIzIwYWNlOSwgZGlzYWJsZWQ6ICNmZmZmZmYpKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY21zLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY21zLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1idXR0b246YWN0aXZlLCAuY21zLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjNzI3OThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzI3OThhO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkLCAuY21zLWJ1dHRvbi5kaXNhYmxlZCwgLmNtcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jbXMtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY21zLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1wcm9jZWVkLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jbXMtcHJvY2VlZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBzaXplOiAxNXB4OyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24gLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuOSk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxvY2F0aW9uLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDkuNXB4IDEycHggOS41cHggMjFweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubG9jYXRpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmxvY2F0aW9uLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmUsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246YWN0aXZlOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQ6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQ6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAubG9jYXRpb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAubG9jYXRpb24tYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAubG9jYXRpb24tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNlZGVkZWQ7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSAucmVmZXJlbmNlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2VkZWRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjljNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogI2VkZWRlZDsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNXB4IDAgMDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMmI2OWM2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzJiNjljNjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyLCAucHJpbnQtZWxlbWVudC1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmFjdGl2ZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246YWN0aXZlOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmRpc2FibGVkLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQsIC5wcmludC1lbGVtZW50LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b25bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgK9cIjtcbiAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjNzI3OThhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucHJpbnQtZWxlbWVudC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CvXCI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggNXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzQzOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciwgLnBheXBhbC1idXR0b246aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgI3BheXBhbC1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI3BheXBhbC1jaGVja291dC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI3BheXBhbC1jaGVja291dC1idXR0b24uYWN0aXZlLCAucGF5cGFsLWJ1dHRvbjphY3RpdmUsIC5wYXlwYWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0sIC5wYXlwYWwtYnV0dG9uOmRpc2FibGVkLCAucGF5cGFsLWJ1dHRvbi5kaXNhYmxlZCwgLnBheXBhbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246Zm9jdXMtdmlzaWJsZSwgLnBheXBhbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wYXlwYWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjphZnRlciwgLnBheXBhbC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL3BheXBhbC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uaW5jcmVtZW50LXJvdy1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmluY3JlbWVudC1yb3ctYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmluY3JlbWVudC1yb3ctYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4ucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogNXB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoM24tMikgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoM24tMikgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgybik6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6b25seS1jaGlsZCwgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6b25seS1jaGlsZDpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoMm4pOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm5vdCg6b25seS1jaGlsZCk6Zmlyc3QtY2hpbGQsIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm9ubHktY2hpbGQ6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzKj1cIi1idXR0b25cIl0uYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciAuc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuLmFkZFRvQmFza2V0Rm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmJhc2tldC1hZGQtYnV0dG9uLmljb24ge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24uaWNvbjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBjb2xvcjogIzJiNjljNjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24uaWNvbjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAuYmFza2V0LWFkZC1idXR0b24uaWNvbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZCB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmhvdmVyLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjY5YzY7XG4gICAgICBib3JkZXItY29sb3I6ICMyYjY5YzY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmFjdGl2ZSwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpkaXNhYmxlZCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuZGlzYWJsZWQsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpkaXNhYmxlZDpob3ZlciwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hZGRUb0Jhc2tldC5pY29uIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFkZFRvQmFza2V0Lmljb246bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgY29sb3I6ICMyYjY5YzY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZFRvQmFza2V0Lmljb246bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmFkZFRvQmFza2V0Lmljb24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxMHB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI2OWM2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMmI2OWM2O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTphY3RpdmUsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6ZGlzYWJsZWQ6aG92ZXIsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYWRkLXRvLWJhc2tldC5wcmVzZXQtMiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxMHB4KTtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODMzMzNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNzI3OThhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjphY3RpdmUsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6ZGlzYWJsZWQ6aG92ZXIsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYW5pbWF0ZWQuZHJvcDpiZWZvcmUge1xuICBjb2xvcjogIzIwYWNlOSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5hbmltYXRlZC5kcm9wOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjBweDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgYW5pbWF0aW9uOiBiYXNrZXRJY29uSG92ZXIgMC41cztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwOyB9XG5cbkBrZXlmcmFtZXMgYmFza2V0SWNvbkhvdmVyIHtcbiAgMCUge1xuICAgIHRvcDogLTIwcHg7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDE1JSB7XG4gICAgdG9wOiAtMTVweDtcbiAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgMzAlIHtcbiAgICB0b3A6IC0xMHB4O1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICA0NSUge1xuICAgIHRvcDogLTVweDtcbiAgICBvcGFjaXR5OiAwLjg7IH1cbiAgNjAlIHtcbiAgICB0b3A6IDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNzUlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIHRvcDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuaG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTpkaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGFbZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpkaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTpkaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpkaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWVmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuaG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNzI3OThhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6YWN0aXZlLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5hY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6ZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmRpc2FibGVkLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYVtkaXNhYmxlZF0sIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5kaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWVmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246aG92ZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246YWN0aXZlLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXSwgLmZhdm91cml0ZXNDb250YWluZXIgYS5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjNmQ2ZDZkO1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF06YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdOmhvdmVyOmFmdGVyLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhLmRpc2FibGVkOmFmdGVyLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhLmRpc2FibGVkOmhvdmVyOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIu+AhFwiO1xuICBjb2xvcjogIzJiNjljNjtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGE6aG92ZXI6YWZ0ZXIge1xuICBjb2xvcjogIzIwYWNlOTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTphY3RpdmU6YWZ0ZXIge1xuICBjb2xvcjogIzcyNzk4YTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIuYWN0aXZlIGE6YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSBhOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyOm5vdCguYWN0aXZlKSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmxhYmVsLmRpc2FibGVkLCBsYWJlbC5yZWFkb25seSB7XG4gIGN1cnNvcjogbm8tZHJvcDsgfVxuXG4uY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGZsZXg6IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jb250cm9sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHggIWltcG9ydGFudDsgfSB9XG5cbi5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udHJvbC5pcy1ob3ZlcmVkIC5pbnB1dC1wcmVmaXgtaWNvbiwgLmNvbnRyb2w6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWw6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uLCAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsOmhvdmVyIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtZm9jdXNlZCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9XG4gIC5jb250cm9sICsgLmxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uICsgaW5wdXQge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmNvbnRyb2wgLmxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPXRleHRdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPW51bWJlcl0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGVsXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgdGV4dGFyZWEge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIC5jb250cm9sLnJlYWQtb25seS1pbnB1dCwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQge1xuICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6bm90KC50ZXh0KTpob3ZlcjphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6bm90KC50ZXh0KTpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6bm90KC50ZXh0KTphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6bm90KC50ZXh0KTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CjXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0OmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgKNcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA3LjVweDtcbiAgICAgIGhlaWdodDogNy41cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC4ycHg7XG4gICAgICBsZWZ0OiAuNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNy41cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5OyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTEuNzY0NzFweDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtyZWFkb25seV0gKyBzcGFuLCAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93LCAuY29udHJvbC5zZWxlY3Qgc2VsZWN0W3JlYWRvbmx5XSArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyLCAuY29udHJvbC5zZWxlY3Qgc2VsZWN0W3JlYWRvbmx5XSArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LmlzLWludmFsaWQtaW5wdXQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6Zm9jdXMgKyBkaXZbY2xhc3M9Y29udHJvbC1zZWxlY3QtY29udGFpbmVyXSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmlzLWNsb3Npbmcge1xuICAgICAgei1pbmRleDogMjAwMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIge1xuICAgICAgei1pbmRleDogMTk5OTsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlcjpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0LWFycm93LCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbiwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3RlZC1vcHRpb246Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0LWFycm93LCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdC1hcnJvdzphZnRlciwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5jb250cm9sLXNlbGVjdC1vcHRpb25zLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTg1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tYm90dG9tIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wLmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0LWFycm93IHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cbiAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb24ge1xuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uW3NlbGVjdGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbltkaXNhYmxlZF0sIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjY5YzY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZVtkaXNhYmxlZF0sIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZS5kaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleDogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250cm9sLnNlbGVjdC50aXRsZSAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDI1MHB4OyB9XG4gIC5jb250cm9sLnRleHQge1xuICAgIGN1cnNvcjogdGV4dDsgfVxuICAgIC5jb250cm9sLnRleHQgaW5wdXQge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6bm90KFt0eXBlPXBhc3N3b3JkXSk6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyArIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlcjpub3QoLmlzLWludmFsaWQtaW5wdXQpICsgYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnRleHQgaW5wdXQgKyBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnNsaWRlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICAuY29udHJvbC5maWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2JmYmZiZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY29udHJvbC5maWxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXB4KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAyLjVweCBkYXNoZWQgI2JmYmZiZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb250cm9sLmZpbGUge1xuICAgICAgICB3aWR0aDogNzAwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMzhweCAxMHB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlcjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXIgc3Bhbi5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLmNvbnRyb2wuZmlsZTphY3RpdmUsIC5jb250cm9sLmZpbGUuaXMtcmVhZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTQsIDEyMSwgMTM4LCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuNyk7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6YWN0aXZlOmFmdGVyLCAuY29udHJvbC5maWxlLmlzLXJlYWR5OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuNyk7IH1cbiAgICAuY29udHJvbC5maWxlLmlzLXJlYWR5IC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6WoFwiO1xuICAgICAgY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCAuZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5maWxlIHNwYW4ubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuZmlsZSBzcGFuLmxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24ge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvlbRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24gKyAubGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5jb250cm9sLmZpbGUgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5maWxlIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlIC5maWxlLXNpemUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLmNvbnRyb2wuZmlsZSBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY29udHJvbC5zZWFyY2ggaW5wdXQgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmNvbnRyb2wgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuY29udHJvbDpob3ZlciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciBzZWxlY3QsIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gIHdpZHRoOiA5MHB4OyB9XG5cbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43KTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAyMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuaW5wdXQubWFpbC1pbnB1dCB7XG4gIGhlaWdodDogNDVweDtcbiAgZmxleC1ncm93OiAxO1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBpbnB1dC5tYWlsLWlucHV0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4OyB9IH1cbiAgaW5wdXQubWFpbC1pbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBjb2xvcjogcmdiYSg2MiwgNzEsIDkxLCAwLjYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDsgfSB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjplbXB0eTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC42KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjpob3ZlcjplbXB0eTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjphY3RpdmU6ZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmNvbmRpdGlvbmFsLWlucHV0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLmNvbmRpdGlvbmFsLWlucHV0cy5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXI6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMjBhY2U5OyB9IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDphY3RpdmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDphY3RpdmU6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6aG92ZXI6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViOyB9IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDphY3RpdmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDphY3RpdmU6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggNnB4IDA7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudC5kaXNhYmxlZCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlciB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXI6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5xdWFudGl0eS1lcnJvciB7XG4gICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5xdWFudGl0eS1lcnJvciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiB1bnNldDsgfSB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCBpbnB1dCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0NXB4OyB9XG5cbi5pbnB1dC1udW1iZXItZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YmVmb3JlLFxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyLFxuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOm5vdCguZGlzYWJsZWQpLFxuICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmhvdmVyOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqFwiOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgadcIjsgfVxuXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7IH0gfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuc2VsZWN0IHtcbiAgICAgIHdpZHRoOiA5MHB4OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuc2VsZWN0IHNlbGVjdCB7XG4gICAgaGVpZ2h0OiA0NXB4OyB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuc3Bhbi5mb3JtLWVycm9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHNwYW4uZm9ybS1lcnJvciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIHNwYW4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbnNwYW4uZm9ybS1jYWxsb3V0LWVycm9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbnVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAzNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMXB4OyB9IH1cbiAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43KTsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtdmFsaWQge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy12YWxpZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLWludmFsaWQge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy1pbnZhbGlkOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjsgfVxuXG4uYWR2YW5jZWQtdmFsaWRhdGlvbi1hY3RpdmUuaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjOTU5NTk1OyB9XG5cbi5ncm91cC1mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciBoMiwgLmdyb3VwLWZvcm0tZXJyb3IgaDQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmdyb3VwLWZvcm0tZXJyb3IgdWwgbGkge1xuICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgcCwgLmdyb3VwLWZvcm0tZXJyb3IgYSB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyb3VwLWZvcm0tZXJyb3Ige1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG5cbi5lcnJvci1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLmVycm9yLWJsb2NrIGgyLCAuZXJyb3ItYmxvY2sgaDQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmVycm9yLWJsb2NrIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5lcnJvci1ibG9jayB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuZXJyb3ItYmxvY2sgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmVycm9yLWJsb2NrIHVsIGxpIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5lcnJvci1ibG9jayBwLCAuZXJyb3ItYmxvY2sgYSB7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuZXJyb3ItYmxvY2sgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0ICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIGlucHV0ICsgc3Bhbi5jaGVja2JveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbkBrZXlmcmFtZXMga2Zfc2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4KTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwcHgpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCk7IH0gfVxuXG4uZmllbGQtbGVhZC1pbi10ZXh0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmxhYmVsOm5vdCguZGlzYWJsZWQpIC5sYWJlbDpob3ZlciwgbGFiZWw6bm90KC5yZWFkLW9ubHktaW5wdXQpIC5sYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG5cbmxhYmVsOm5vdCguZGlzYWJsZWQpIC5sYWJlbDphY3RpdmUsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6YWN0aXZlIHtcbiAgY29sb3I6ICMyMGFjZTk7IH1cblxubGFiZWwgLmxhYmVsIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxubGFiZWwgaW5wdXQ6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA0NXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgbGFiZWwgaW5wdXQ6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbmxhYmVsIGlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cblxubGFiZWwgaW5wdXQ6Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xuLmxvb2t1cC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucG9zdGNvZGUtbG9va3VwLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLnBvc3Rjb2RlLWxvb2t1cC1lcnJvci5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0Lmxvb2t1cC1rZXkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubG9va3VwLWtleSB7XG4gICAgICB3aWR0aDogMzYwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaW5wdXQubG9va3VwLWtleSArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3OThhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0Lmxvb2t1cC1rZXkuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5idXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCAxM3B4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzk1OTU5NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGJ1dHRvbi5sb29rdXAtc3VibWl0IHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAwIDEwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciwgYnV0dG9uLmxvb2t1cC1zdWJtaXQuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIGJ1dHRvbi5sb29rdXAtc3VibWl0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdDphY3RpdmUsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6ZGlzYWJsZWQsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdFtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6ZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubG9va3VwLXJlc3VsdHMge1xuICB3aWR0aDogMTAwJTsgfVxuICAubG9va3VwLXJlc3VsdHMgdWwge1xuICAgIG1heC1oZWlnaHQ6IDIyNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyB1bCAuc2VsZWN0ZWQge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAubG9va3VwLXJlc3VsdHMgYnV0dG9uLCAubG9va3VwLXJlc3VsdHMgYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b24gc3BhbiwgLmxvb2t1cC1yZXN1bHRzIGEgc3BhbiB7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjpob3ZlciwgLmxvb2t1cC1yZXN1bHRzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uOmFjdGl2ZSwgLmxvb2t1cC1yZXN1bHRzIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gICAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uOmFjdGl2ZSBzcGFuLCAubG9va3VwLXJlc3VsdHMgYTphY3RpdmUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubG9va3VwLXJlc3VsdHMuYnJhbmNoLXNlYXJjaCwgLmxvb2t1cC1yZXN1bHRzLmFjY291bnQtc2VhcmNoIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMjBweDsgfSB9XG4gIC5sb29rdXAtcmVzdWx0cy5icmFuY2gtc2VhcmNoIGJ1dHRvbiwgLmxvb2t1cC1yZXN1bHRzLmFjY291bnQtc2VhcmNoIGJ1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZ2VvbG9jYXRpb24tY29udGlhbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTpob3ZlciwgaW5wdXRbdHlwZT1zZWFyY2hdLmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAyMHB4IDZweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogMTVweCAwcHggMjBweCAycHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjEpOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMyYjY5YzY7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMgKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBpbnB1dFt0eXBlPXNlYXJjaF06bm90KDpoYXMoKyBidXR0b24pKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5MSwgMTkxLCAxOTEsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzJiNjljNjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi50b2dnbGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9nZ2xlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnVpLWJsb2NrLXBhbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC51aS1ibG9jay1wYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgKNcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpOyB9XG5cbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAub3B0aW9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIgKyAuc3NvLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ubWljcm9zb2Z0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9idXR0b25zL21pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIpOyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLXNlcGVyYXRvciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLypcclxuLS0tLS0gU2l0ZSBTdHlsZXMgLS0tLS0gXHJcbkFsbG93aW5nIENTUyB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgU0FTUyBjb25maWd1cmF0aW9uLCB1c2VkIGluIGluc3RhbmNlcyB3aGVyZSB5b3UgbmVlZCBkZXBhcnRtZW50IHNwZWNpZmMgY29sb3VyaW5nLlxyXG5cclxuKi9cbi5yZXF1aXJlZC1wcm9tcHQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlcXVpcmVkLXByb21wdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLnJlcXVpcmVkLXByb21wdCArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIuY29udGVudC1ib3JkZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5mb3JtLnVzZXItZGF0YS1mb3JtIHtcbiAgcGFkZGluZzogMCAwIDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuZm9ybS5zaW5nbGUtY29sdW1uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkOmxhc3QtY2hpbGQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuXG5mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBmb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuZm9ybSBmaWVsZHNldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBmb3JtIGZpZWxkc2V0OmZpcnN0LW9mLXR5cGUgaDIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgZm9ybSBmaWVsZHNldCBoMywgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsgfSB9XG4gIGZvcm0gZmllbGRzZXQgaDIsIGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIGZvcm0gZmllbGRzZXQgaDIgKyAuc3ViLWdyb3VwLW5hbWUsIGZvcm0gZmllbGRzZXQgbGVnZW5kICsgLnN1Yi1ncm91cC1uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gIGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICBmb3JtIGZpZWxkc2V0IHVsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgZm9ybSBmaWVsZHNldCA+IC5mb3JtLWVycm9yIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgZm9ybSBmaWVsZHNldCAuc3ViLWdyb3VwLW5hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGZvcm0gZmllbGRzZXQgLnN1Yi1ncm91cC1uYW1lICsgLnJlcXVpcmVkLXByb21wdCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIGZpZWxkc2V0IC5lcnJvci1ibG9jayB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBmb3JtIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cztcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIgKyBoMiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH0gfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMTVweCA3LjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDg1cHg7IH0gfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jYXB0Y2hhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjsgfVxuICAuY2FwdGNoYS1jb250YWluZXIuY2hlY2tib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5jYXB0Y2hhLWNvbnRhaW5lciAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnBvcHVwLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTE1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNi42NjY2N3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDgwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTIge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBhIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBhIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGEge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuZGlzYWJsZWQgcCB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uIHAge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHtcbiAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpiZWZvcmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+huVwiO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDQ1cHggMjBweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5ob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5hY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNlZGVlZWY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnRbZGlzYWJsZWRdIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmZvY3VzLXZpc2libGUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDAgMjIuNXB4IDEwcHgpO1xuICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIG1hcmdpbjogMzBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb25maXJtYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfSB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLm1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmMGYwO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi8qXHJcbi0tLS0tIEhlYWRlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFVwcGVyICsgbG93ZXIgbmF2aWdhdGlvbiBiYXJzLlxyXG4tIFNpdGUgbG9nb1xyXG4tIEhlYWRlciBzdGlja3kgZnVuY3Rpb25hbGl0eTpcclxuICAtIEZ1bGxcclxuICAtIE1pbmlmaWVkXHJcbiAgLSBObyBUb3AgQmFyXHJcbiAgLSBNZW51XHJcbi0gVkFUIFN3aXRjaGVyXHJcbi0gQnJlYWRjcnVtYnNcclxuLSBCYXNrZXQgU3VtbWFyeSBcclxuLSBDYWxsb3V0cyBpbiB0aGUgaGVhZGVyIHRvIG1vZGlmeSBjYWxsb3V0IHNlZSBheGlzLW5vdGlmaWNhdGlvbi5zY3NzXHJcbi0gUHJlZGljdGl2ZSBzZWFyY2ggcG9zaXRpb25pbmcgdG8gbW9kaWZ5IHNlYXJjaCBzdHlsZSB0aGVuIGdvIHRvIGF4aXMtYXV0b2NvbXBsZXRlLnNjc3NcclxuLSBVU1AgYmFyIHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbW9kdWxlLlxyXG4tIFdlbGNvbWUgVGV4dFxyXG4tIFRhZyBsaW5lc1xyXG4tIFRPRE86IEkgYW0gY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHRyeWluZyB0byB1bnRhbmdsZSB0aGUgbWVnYSBtZW51IGNzcyArIG1ha2UgaXQgbW9yZSBnZW5lcmljIGFuZCByZWhvbWUgaXQgaW5zaWRlIG9mIGF4aXMtbWVudXMuc2Nzc1xyXG4qL1xuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XSB7XG4gICAgei1pbmRleDogMjAwMDsgfVxuICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZS1vdXQ7IH0gfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTm9Ub3BCYXJcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bzsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzLCBtYXJnaW4tYm90dG9tIDAuOHM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgICB3aWR0aDogNjVweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMy41cHggNy43NXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDIzcHg7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgdG9wOiA0NXB4OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2gge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoICsgYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgYSB7XG4gICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAuaG9tZS1idXR0b24gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLmhvbWUtYnV0dG9uIGE6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDExLjY2NjY3cHg7XG4gICAgICAgICAgcGFkZGluZzogMCAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgZm9udC1zaXplIDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAubWVudSA+IGxpOm5vdCguaG9tZS1idXR0b24pID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAyMi41cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMi41cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cywgaGVpZ2h0IDAuNnM7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIsIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gIG1heC13aWR0aDogNzAlO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGEsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMi41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpiZWZvcmUsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXIsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldC53YXJuaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0LmFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg4lcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYWNjb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5oZWFkZXItbW9iaWxlLW1lbnUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMjAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZTQ3NWI7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMzQlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ3LjclIDI4LjUlO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSwgLmhlYWRlci1jb250ZW50LWNlbnRlciA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpLCAuaGVhZGVyLWNvbnRlbnQtcmlnaHQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgLW1zLWdyaWQtcm93LXNwYW46IDI7XG4gICAgLW1zLWdyaWQtY29sdW1uOiAxOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUsIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51IHtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUtY29udGFpbmVyIHVsID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudSA+IGxpID4gYSwgLmhlYWRlci1jb250ZW50LWNlbnRlciAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGluaGVyaXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWdyaWQtcm93OiAyO1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAzOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LXJpZ2h0IC5tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciBpbWcsIC5sb2dvLWNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgaW1nLCAubG9nby1jb250YWluZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI5MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIC5sb2dvRnVsbCwgLmxvZ29Db250YWluZXIgLmxvZ28tZnVsbC1zaXplLCAubG9nby1jb250YWluZXIgLmxvZ29GdWxsLCAubG9nby1jb250YWluZXIgLmxvZ28tZnVsbC1zaXplIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgLmxvZ29GdWxsLCAubG9nb0NvbnRhaW5lciAubG9nby1mdWxsLXNpemUsIC5sb2dvLWNvbnRhaW5lciAubG9nb0Z1bGwsIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubG9nb0NvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nb0NvbnRhaW5lciAubG9nby1taW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwOmlzKDplbXB0eSkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItdGFnbGluZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10YWdsaW5lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyLmFjdGl2ZSAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIGZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG9yZGVyOiAxOyB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBvcmRlcjogMjsgfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgIG9yZGVyOiAzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSB7XG4gICAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciBhIHNwYW4sIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciBhIC51bmlib3gtaGlnaGxpZ2h0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmFjdGl2ZSBhIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSBzcGFuLCAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUgLnVuaWJveC1oaWdobGlnaHQge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmFjLXJlc3VsdHMge1xuICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4OyB9IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA0MHB4IDAgNDBweDsgfSB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaTpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciBhLmFjX3Jlc3VsdHNfZW50cnk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MmRlZyk7IH1cbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIGxpIC5uby1yZXN1bHRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5oZWFkaW5nMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmhlYWRpbmc0IHtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogNnB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjX3Jlc3VsdHNfZW50cnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMjU1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9IH1cblxuI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA1MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWN0aXZlIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWN0aXZlIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCRXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGNvbG9yOiAjZmY1ZTA1OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gIGNvbG9yOiAjMjBhY2U5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjBhY2U5OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyMGFjZTk7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gklwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGNvbG9yOiAjYjIwYzBjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiA1MDAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNXB4IDVweDsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmhvdmVyIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMyYjY5YzY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6aG92ZXIgLnVwZGF0ZS1tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjMmI2OWM2O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmFjdGl2ZSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6YWN0aXZlIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciBbZGF0YS1iYXNrZXQtc3VtbWFyeS1ub3RpZmljYXRpb25zXSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogMTA7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICB3aWR0aDogMjU1cHg7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MDU4NmE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOXB4IDIzcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3OThhO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxODVweDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDcwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzLWluZm8uYmFza2V0LWRldGFpbHMtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1vcmRlci10b3RhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LXF1YW50aXR5IHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDg1JTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXIgI2Jhc2tldFF1YW50aXR5LCAuc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lciAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN1bW1hcnk6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4uc3VtbWFyeSAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIwYWNlOTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMyMGFjZTk7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gklwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiAzNzBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogNTcwcHg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCA2MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogNTAwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hY3RpdmUgI2Jhc2tldFByZXZpZXcge1xuICAgICAgbWF4LWhlaWdodDogNDYwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMzBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDUwMDA7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAjcmVjZW50bHlBZGRlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyICNyZWNlbnRseUFkZGVkIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLnVwZGF0ZS5hY3RpdmUgI2Jhc2tldFByZXZpZXcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjU1cHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MHB4OyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAyNTVweDtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWJhc2lzOiA1MHB4OyB9IH1cbiAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyICsgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gdWwgPiBsaSB1bCA+ID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwge1xuICAgIHBhZGRpbmc6IDAgMCAxNy41cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGk6bm90KC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQpID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzZweDsgfSB9XG4gICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaS5ob21lLWJ1dHRvbiBhLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkuaG9tZS1idXR0b24gYSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuXG4uaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyICsgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIsIC5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogMCAxMi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyLnRvZ2dsZS1iYXItaW5hY3RpdmUtbW9iaWxlIHtcbiAgICAgIGdhcDogMDsgfSB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIuYWxpZ24taXRlbXMtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM3Mjc5OGE7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuc2VhcmNoIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDI2cHg7XG4gICAgcGFkZGluZzogMnB4IDQuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmYyMDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIDAuOHM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbjpob3ZlciAuYmFza2V0LWl0ZW0tY291bnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmFjdGl2ZSAuYmFza2V0LWl0ZW0tY291bnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuc2VhcmNoLmFjdGl2ZSB7XG4gICAgICB3aWR0aDogNDkwcHg7XG4gICAgICByaWdodDogLTEycHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51LmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IC5hY2NvdW50LW1lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTE2cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyLmFjdGl2ZSB7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIuYWN0aXZlIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuXG4uaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcbiAgbWluLWhlaWdodDogMzVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7XG4gIHBhZGRpbmc6IDMuNXB4IDcuNzVweDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbi5sb2dnZWQtaW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViOyB9XG4gICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNzI3OThhOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ah1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYWNjb3VudC1tZW51IGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LW1lbnUgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnVzcC1iYXIsIC5oZWFkZXItdXNwLWJhciB7XG4gIHBhZGRpbmc6IDVweCAwIDcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAwOyB9IH1cblxuLnVzcC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVzcC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAudXNwLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykvdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYSwgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHAge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciA+IHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSA+IHAge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgaW1nLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNnB4O1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogMTVweCA1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGE6aG92ZXIsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGE6YWN0aXZlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYmJiYjsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYSBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEgcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV0sIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdIHtcbiAgICAgICAgcGFkZGluZzogMCAwOyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXTpmaXJzdC1vZi10eXBlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXTpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdOmxhc3Qtb2YtdHlwZSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV06bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV0gKyAuY29sbGVjdGlvbi1pdGVtLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW06YmVmb3JlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHotaW5kZXg6IDE7IH0gfVxuICAudXNwLWNvbnRhaW5lciAuZmFzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG4gIGJvZHk6bm90KCNob21lKSAuaGVhZGVyLWJyZWFkY3J1bWJzLWNvbnRhaW5lcjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKSB7XG4gICAgcGFkZGluZzogNy41cHg7IH1cblxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpOm5vdCg6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpKTpub3QoOmhhcygudmF0LXN3aXRjaGVyLWNvbnRhaW5lcikpIHtcbiAgcGFkZGluZzogNy41cHg7IH1cblxuLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAuaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOmhhcyguYnJlYWRjcnVtYnMpLCAuaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5icmVhZGNydW1icyksIC5oZWFkZXItdXNwLWJhciArIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdXNwLWJhciArIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH0gfVxuXG4jYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icywgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icywgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDIuNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzIGxpLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGkge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZzogMDsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmJyZWFkY3J1bWJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgIG1hcmdpbjogMCA1cHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5icmVhZGNydW1icyBsaTphZnRlciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDFweDsgfSB9XG5cbi50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciBzcGFuIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0ODVjZjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5zd2l0Y2gtZXhjIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM5cHg7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gtaW5jLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaC1pbmMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnN3aXRjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaCB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAxNi4xOTA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaDpob3ZlciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XG4gICAgbWluLXdpZHRoOiAxNC43ODI2MXB4O1xuICAgIGhlaWdodDogMTQuNzgyNjFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA4LjA5NTI0cHg7XG4gICAgICBoZWlnaHQ6IDguMDk1MjRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWluYyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtZXhjIHtcbiAgICByaWdodDogN3B4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5jIHtcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbnB1dCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciBwLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIGxhYmVsLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciBsYWJlbCBzcGFuLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIGxhYmVsIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi8qXHJcbi0tLS0tIEZvb3RlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEZvb3RlciBtZW51ICggYWxzbyByZWZlciB0byBheGlzLW1lbnVzLnNjc3MgKVxyXG4tIFByb21vdGlvbiBhcmVhOlxyXG4gIC0gU29jaWFsIEljb25zXHJcbiAgLSBNYWlsaW5nIExpc3RcclxuICAtIENtcyBlbnRyaWVzXHJcbi0gRm9vdGVyIEJhbm5lcnMgKCBQYXltZW50IG1ldGhvZCBsb2dvcyApXHJcbi0gQ29weXJpZ2h0XHJcbi0gR29vZ2xlIFRhZyBNYW5hZ2VyIGZvb3RlciB3aWRnZXQgYXJlYVxyXG4tIEZvb3RlciBNb2R1bGVzICggYWxzbyByZWZlciB0byBtb2R1bGVzLnNjc3MgKVxyXG4qL1xuZm9vdGVyIC5yb3ctYmFja2dyb3VuZDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG5mb290ZXIgLnNvY2lhbEljb25zLCBmb290ZXIgLnNvY2lhbC1pY29ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucywgZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBmb290ZXIgLnNvY2lhbEljb25zIGgzOm5vdCg6ZW1wdHkpLCBmb290ZXIgLnNvY2lhbC1pY29ucyBoMzpub3QoOmVtcHR5KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyBoMzpub3QoOmVtcHR5KSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaDM6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBhLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNlNDc1YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucyBhOmhvdmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICBmb290ZXIgLnNvY2lhbEljb25zIGE6YWN0aXZlLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViOyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgaW1nLCBmb290ZXIgLnNvY2lhbC1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMjIuNXB4OyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbmZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5mb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZjNmM2YzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjNmM2YzOyB9XG5cbi5mb290ZXItZ3JpZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItZ3JpZC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5jb250ZW50LWhlYWRlciAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIuY29udGVudC1oZWFkZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfSB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIucGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMge1xuICAgICAgICBtYXJnaW46IDYwcHggMCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIHtcbiAgICAgICAgZmxleC1iYXNpczogZml0LWNvbnRlbnQ7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyICsgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgZ2FwOiAwIDI0LjVweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyBhIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDsgfVxuXG4uY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMThweCBhdXRvIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMyYjY5YzY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpmaXJzdC1jaGlsZCBwLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkIHAsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkIGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IGE6bm90KFtocmVmXSkge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGEsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIG9yZGVyOiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGFbaHJlZl06aG92ZXIsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHBbaHJlZl06aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhW2hyZWZdOmFjdGl2ZSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcFtocmVmXTphY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHAge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwIDEwLjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMjFweDsgfSB9XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwLjVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51IC5saW5rLWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uLm1haW4tbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbi5tYWluLW1lbnUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiAubWVudSAuaXMtc3VibWVudS1pdGVtIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFjdGl2ZSB7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG5cbi5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDM7IH1cbiAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAzMHB4OyB9IH1cbiAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtc2l6ZTogMTc7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmZvb3Rlci1wcm9tb3Rpb25zIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLXByb21vdGlvbnMge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zICsgLmZvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZm9vdGVyLXByb21vdGlvbnMgKyAuZm9vdGVyLW5hdmlnYXRpb24gLm1lbnUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAubWFpbGluZy1saXN0LWNvbnRhaW5lciwgLmZvb3Rlci1wcm9tb3Rpb25zIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsSWNvbnMsIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsLWljb25zIHtcbiAgICBvcmRlcjogMjsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDM7IH1cblxuLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4uZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXItbG9nby1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4uZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7IH0gfVxuICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4OyB9IH1cbiAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG5cbi5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuZm9vdGVyLXJldmVhbC1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E3YTdhOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIuYWN0aXZlIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDsgfSB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlcjphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWN0aXZlLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFjdGl2ZTphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpkaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5kaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGlua1tkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmhvdmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphZnRlciB7XG4gICAgY29udGVudDogXCLvh5hcIjtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA1NXB4OyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgaDMge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHNwYW4ubWFpbC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0gaW5wdXQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDcwcHggMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiA3MHB4IDAgMjBweDsgfSB9XG4gIC5mb290ZXJPdXRlckNvbnRhaW5lciAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIgI2Zvb3Rlci1pbm5lci1jb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxyXG4tLS0tLSBBSkFYIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gQUpBWCBTcGlubmVyXHJcbi0gQ2FsbGJhY2sgY29udGFpbmVyc1xyXG4tIFVwZGF0ZSBDb250ZW50IC0gQmFzaWNhbGx5IGEgY29udGFpbmVyIGluc2lkZSBvZiB0aGUgYWpheCByZXNwb25zZSB0aGF0IGFsbG93cyB5b3UgdG8gdXBkYXRlIGNvbnRlbnQgb3V0c2lkZSBvZiB0aGUgY2FsbGJhY2sgY29udGFpbmVyLlxyXG4qL1xuLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jYWxsYmFja0NvbnRhaW5lcjpoYXMoLkFKQVhCbG9jaykge1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuLmNhbGxiYWNrTGlzdENvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uQUpBWEJsb2NrLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuICAuQUpBWEJsb2NrIC5zcGlubmVyLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLnNwaW5uZXIge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lcjpiZWZvcmUsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDYyLCA3MSwgOTEsIDAuMik7XG4gICAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzNlNDc1YjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjdzIGN1YmljLWJlemllcigwLjU2LCAwLjExLCAwLjIyLCAwLjg2NSkgMHMgaW5maW5pdGU7XG4gICAgICB6LWluZGV4OiAxOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgfSB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAuQUpBWEJsb2NrIC5jbXMtY29udGVudC1jb250YWluZXIgcCwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5bZGF0YS11cGRhdGUtY29udGVudF0sIFtkYXRhLWFqYXgtdXBkYXRlLWJyZWFkY3J1bWJzXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuLS0tLS0gRmlsdGVycyAtLS0tLS0gXHJcbi0gVGhlc2UgYSB0eXBpY2FsbHkgb24gbGlzdCBwYWdlcyBmb3IgcHJvZHVjdHMuXHJcbi0gQXR0cmlidXRlIGZpbHRlcnMgdGhhdCBhbHNvIGluY2x1ZGUgY29sb3VyIGZpbHRlcnMgYW5kIHByaWNlIHNsaWRlci5cclxuLSBZb3Ugd2lsbCBhbHNvIGZpbmQgdGhlIG1vYmlsZSBzdHlsZXMgaGVyZSBmb3IgZmlsdGVycy5cclxuKi9cbiNtb2JpbGVUb2dnbGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgI2ZpbHRlcnMtdG9nZ2xlOmhvdmVyLCAuZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjZmlsdGVycy10b2dnbGU6aG92ZXI6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAjZmlsdGVycy10b2dnbGU6bm90KC5pcy1zdHVjayksIC5maWx0ZXItdG9nZ2xlOm5vdCguaXMtc3R1Y2spIHtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuICAjZmlsdGVycy10b2dnbGUuaXMtc3R1Y2ssIC5maWx0ZXItdG9nZ2xlLmlzLXN0dWNrIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNHM7XG4gICAgei1pbmRleDogMTAwMDsgfVxuICAgICNmaWx0ZXJzLXRvZ2dsZS5pcy1zdHVjazpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlLmlzLXN0dWNrOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAjZmlsdGVycy10b2dnbGU6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KwXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjZmlsdGVycy10b2dnbGU6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAjZmlsdGVycy10b2dnbGU6aG92ZXIsIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICNmaWx0ZXJzLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCwgLmZpbHRlci10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgIG1hcmdpbi1yaWdodDogM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2ZpbHRlcnMtdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAuZmlsdGVyLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTQuMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIGJvcmRlcjogMC44cHggc29saWQgI2ZmZmZmZjsgfSB9XG5cbi5maWx0ZXJzLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpbHRlcnMtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuOCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5maWx0ZXJzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmZpbHRlcnMtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuI2ZpbHRlckJhY2tUb0xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2ZpbHRlckJhY2tUb0xpc3QgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MiwgNzEsIDkxLCAwLjQpO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiB1bCA+IGxpOm5vdCguYWN0aXZlKSAuYXR0cmlidXRlc0NvbnRhaW5lciB7XG4gIGhlaWdodDogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51ID4gbGkge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4OyB9IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGkgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6IDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGkuYWN0aXZlIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgdWwge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVyTmFtZSwgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVySXRlbUNvdW50IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5jb2xvdXJQcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxhYmVsOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbDphY3RpdmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuZmlsdGVyTmFtZSB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5jb2xvdXItcHJldmlldy1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvcmRlcjogMzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5jb2xvdXJQcmV2aWV3IHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDEwcHggMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5maWx0ZXJJdGVtQ291bnQge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbnRyb2wgLmNoZWNrYm94IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3JkZXI6IDQ7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5jb250cm9sIC5jaGVja2JveCBzcGFuOmJlZm9yZSB7XG4gICAgICByaWdodDogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQuaXMtc3VibWVudS1pdGVtW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQuaXMtc3VibWVudS1pdGVtLmFjdGl2ZSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnVbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LnNjcm9sbGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS5zY3JvbGxlciB1bCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuc3VibWVudSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd01vcmVBdHRyaWJ1dGVzID4gYSwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGE6aG92ZXIsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGE6YWN0aXZlLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM3Mjc5OGE7IH1cblxuLnNob3dNb3JlQXR0cmlidXRlcy5hY3RpdmUgYSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc2hvd01vcmVBdHRyaWJ1dGVzLmFjdGl2ZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyBhIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzcyNzk4YTsgfVxuICAgIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNzI3OThhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4jZmlsdGVycy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyAjZmlsdGVycy1jb250YWluZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDAwOyB9XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUgLmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gaDIge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIGgyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDVweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6YWN0aXZlLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmFjdGl2ZSBhIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIgbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FwcGxpZWRGaWx0ZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGgzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4jYXBwbGllZEZpbHRlcnMgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICAjYXBwbGllZEZpbHRlcnMgbGk6aG92ZXIgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAjYXBwbGllZEZpbHRlcnMgbGk6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAjYXBwbGllZEZpbHRlcnMgYTphZnRlciB7XG4gICAgY29udGVudDogJ3gnO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMC42O1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhOmhvdmVyOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGEuY2xlYXItYWxsLWF0dHJpYnV0ZXMge1xuICAgIG1hcmdpbjogMzBweCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuaW5wdXQucHJpY2Utc2xpZGVyLWlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4ucHJpY2Utc2xpZGVyLWlucHV0IHtcbiAgbWF4LXdpZHRoOiA3MHB4O1xuICBtYXgtaGVpZ2h0OiAzNXB4O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0LnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQudWktc3RhdGUtYWN0aXZlICsgLmN1cnJlbmN5IHtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dCArIC5jdXJyZW5jeSB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dDpmb2N1cyArIC5jdXJyZW5jeSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAtMTVweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0OnJlYWQtb25seSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnByaWNlLWlucHV0LWNvbnRhaW5lcjpudGgtb2YtdHlwZSgyKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiNwcmljZS1zbGlkZXIge1xuICBtYXgtd2lkdGg6IDk2JTtcbiAgbWFyZ2luLXRvcDogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3ByaWNlLXNsaWRlciB7XG4gICAgICBtYXgtd2lkdGg6IDkzJTsgfSB9XG5cbiNwcmljZUF0dEhpZ2gge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLypcclxuLS0tLS0gTW9kYWxzIC0tLS0tLSBcclxuLSBUaGlzIGlzIHRoZSBtZWNoYW5pc20gdGhhdCBnZXRzIHVzZWQgZm9yIHBvcHVwIGNvbnRlbnQgaW4gZXhwcmVzcy5cclxuLSBDYW4gYmUgdXNlZCB0byBwb3AgZm9ybSwgY21zIGNvbnRlbnQsIG5vdGlmaWNhdGlvbiAmIHBheW1lbnQgZnJhbWVzLlxyXG4qL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wb3B1cC1iYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDMwcHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDIwMDE7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGl2ZSAucG9wdXAtYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kYWwtY29udGFpbmVyLmFqYXggLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFqYXggLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZHJvcHBlZC1zZXNzaW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aCkgKyAxMDBweCk7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jbXMtZW50cnktdmlld2VyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAubW9kYWwtY29udGFpbmVyLnNpdGUtbGlzdC5wdWJsaXNoLWhpc3RvcnkgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zaXRlLWxpc3Quc2l0ZS1pbmZvcm1hdGlvbiAuY29udGVudCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbiB7XG4gICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogJGNvbG91cjM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDk4JTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiB1bnNldDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLm1vZGFsLWhlYWRlcjpoYXMoLmNtcy1jb250ZW50LWNvbnRhaW5lcikgfiAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY2stZWRpdG9yX19tYWluID4gZGl2IHtcbiAgICAgIGhlaWdodDogdmFyKC0tZWRpdG9yLWhlaWdodCk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uaW5zZXJ0LWFydGljbGUgLmNrLWVkaXRvciAuY2stY29udGVudCwgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmluc2VydCAuY2stZWRpdG9yIC5jay1jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24ucHJvcGVydHktZWRpdG9yIC5jay1lZGl0b3IgLmNrLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAzMHZoOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tZWRpYS1icm93c2VyIC5tZWRpYS1icm93c2VyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAucmV2aXNpb24tdGV4dCB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDYwcHggMWZyIDMwcHg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXI6YWZ0ZXIsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmJ1dHRvbi1sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLuoYFcIjtcbiAgICAgICAgICBjb2xvcjogIzY2MzM5OTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CZXCI7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiBzcGFuIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMjsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5idXR0b24tbGFiZWwge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5kYXRhLXRpbWUtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCBpZnJhbWUsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA2MzBweDtcbiAgICBoZWlnaHQ6IDYyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZTpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIFtpbmplY3QtY29udGFpbmVyXSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IGF1dG87XG4gICAgLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyICNhY2NvdW50LXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyICNicmFuY2gtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgODBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnJhbmNoLXN3aXRjaGVyIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUge1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmxhYmVsLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAubGFiZWwsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTIwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci50YWJsZSAuY29udGVudCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLm1vZGFsLWhlYWRlciBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLm1vZGFsLWhlYWRlciBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgei1pbmRleDogMTUwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzMwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5zZWxlY3QtYnJhbmNoZXMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAudGFibGUtZm9vdGVyLXNwYWNlciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmJyYW5jaC1zZWFyY2gge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgcGFkZGluZzogNXB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDY1cHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuc2Nhbm5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuc2Nhbm5lciAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODUwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTV2dzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciBbaW5qZWN0LWNvbnRhaW5lcl0gaWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLm1vZGFsLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBwYWRkaW5nOiA1cHggNDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI2OWM2O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLm1vZGFsLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDQ0cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciBwIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDMwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyLmRpc2FibGVkLW5vLWNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAxMi41cHg7XG4gICAgcmlnaHQ6IDIwcHg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBjb250cmFjdC1jaGVja2VyKCMyMGFjZTksICMyYjY5YzYpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiAxNnB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjYuNjY2NjdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gICAgICBib3JkZXItY29sb3I6ICNlZGVlZWY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVlZWY7XG4gICAgICBib3JkZXItY29sb3I6ICNlZGVlZWY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZWVmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTE1cHggMTM1cHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBzdHJvbmcge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDg4NXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5tb2RhbC1sb2dvIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gICAgaGVpZ2h0OiAxMzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZ5cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMzVweDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VkZWVlZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiA4MHZ3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiA2NDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24gaDIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIC5sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG4uaW5qZWN0LWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltpbmplY3QtY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtpbmplY3QtY29udGFpbmVyXTpoYXMoZGl2LkFKQVhCbG9jaykge1xuICAgIG1pbi13aWR0aDogMzIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbaW5qZWN0LWNvbnRhaW5lcl06aGFzKGRpdi5BSkFYQmxvY2spIHtcbiAgICAgICAgbWluLXdpZHRoOiA2NDBweDsgfSB9XG4gIFtpbmplY3QtY29udGFpbmVyXSAubW9kYWwtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAzMHB4OyB9XG5cbi5pbmplY3QtYnV0dG9uIHtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgei1pbmRleDogMTsgfVxuICAuaW5qZWN0LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW5qZWN0LWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgICAgICBtYXJnaW46IDAgNTBweCAwIGF1dG87IH0gfVxuICAgIC5pbmplY3QtYnV0dG9uLmZvcm06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKlxyXG4tLS0tLSBNb2R1bGVzIC0tLS0tXHJcblRoZXNlIGNhbiBiZSB1c2VkIGFueXdoZXJlIG9uIHRoZSBzaXRlIGhlYWRlciwgbWFpbiBjb250ZW50ICYgZm9vdGVyLCB0aGVzZSBoYXZlIGEgaGFyZCBkZXBlbmRhbmN5IG9uIGZvdW5kYXRpb24gWFkgZ3JpZCBzeXN0ZW0gZm9yIHRoZWlyIHBvc2l0aW9uaW5nLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFByb2R1Y3QgLyBJbWFnZSBjb2xsZWN0aW9uc1xyXG4gIC0gR3JpZCB2aWV3XHJcbiAgLSBTbGlkZXNob3cgdmlld1xyXG4tIFZhcm91cyBDTVMgdHlwZXM6XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIEdlbmVyaWMgQ01TIGVudHJpZXMgXHJcbi0gRUJHIEluZm9ybWF0aW9uXHJcbi0gQmFja2dyb3VuZHMgKCBDdXJyZW50bHkgb25seSBzdXBwb3J0IGp1c3QgY29sb3VycyBub3QgaW1hZ2VzICk6IFxyXG4gIC0gUm93IEJhY2tncm91bmRzIFxyXG4gIC0gTW9kdWxlIEJhY2tncm91bmRzXHJcbiovXG4ucm93LWJhY2tncm91bmQ6Zmlyc3Qtb2YtdHlwZSAubW9kdWxlLWJhY2tncm91bmQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00NXB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuXG4uZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogNi41JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tYm90aCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2xsZWN0aW9uIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0gLmltYWdlIHtcbiAgICBwYWRkaW5nOiAzcHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogNy41cHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1tZWRpdW0tZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDExLjUzODQ2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgLS1tb2R1bGUtZ3V0dGVyOiAzOC40NjE1NHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1sYXJnZS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDUwcHg7IH0gfVxuICAuY29sbGVjdGlvbi5pbWFnZS1ncmlkLW1vZHVsZSwgLmNvbGxlY3Rpb24uaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gIC5jb2xsZWN0aW9uIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLW1hcmdpbi14ID4gLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuY29sbGVjdGlvbiAuZ3JpZC14IHtcbiAgICBkaXNwbGF5OiBncmlkOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTgge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtOCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgbWF4LWhlaWdodDogMTI4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjFcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMzAwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjJcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgbWF4LWhlaWdodDogNjMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDY0NHB4O1xuICAgICAgbWF4LWhlaWdodDogNjQ0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjNcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDE4cHg7XG4gICAgbWF4LWhlaWdodDogNDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDQyNHB4O1xuICAgICAgbWF4LWhlaWdodDogNDI0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMzEycHg7XG4gICAgbWF4LWhlaWdodDogMzEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDMxNnB4O1xuICAgICAgbWF4LWhlaWdodDogMzE2cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjVcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjQ5cHg7XG4gICAgbWF4LWhlaWdodDogMjQ5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjZcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjA1cHg7XG4gICAgbWF4LWhlaWdodDogMjA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDIwN3B4O1xuICAgICAgbWF4LWhlaWdodDogMjA3cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjdcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgbWF4LWhlaWdodDogMTc1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICAgICAgbWF4LWhlaWdodDogMTc1cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjhcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTUzcHg7XG4gICAgbWF4LWhlaWdodDogMTUzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4O1xuICAgICAgbWF4LWhlaWdodDogMTUycHg7IH0gfVxuICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLmNvbXBhY3QgLmRlc2NyaXB0aW9uLCAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguY29tcGFjdCkgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogU2V0dGluZyB0aGlzIGdlbmVyaWNhbGx5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XHJcbiAgICAgICAgICAgIDEuIElmIGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzIGlzIGVuYWJsZWRcclxuICAgICAgICAgICAgMi4gSWYgaW1hZ2Ugc2NhbGUgaXMgZW5hYmxlZC5cclxuICAgICAgICAgICAgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIuaW1hZ2Uge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiB1bnNldDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC4yMzQzOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBvcmRlcjogMTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogNXB4OyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjM2U0NzViKTtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVzY3JpcHRpb24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvZGUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzJiNjljNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIGZvcm0sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24ge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItd2lkdGg6IDAgMCA1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aG92ZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5jZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5pbWFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cblxuLmNtcy1tb2R1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuY21zLW1vZHVsZSBoMSB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1tb2R1bGUgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgyOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg0IHtcbiAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNDpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDU6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDYge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDY6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1tb2R1bGUgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtbW9kdWxlIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuY21zLW1vZHVsZSBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLW1vZHVsZSB1bCwgLmNtcy1tb2R1bGUgb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5jbXMtbW9kdWxlIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuY21zLW1vZHVsZSB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuY21zLW1vZHVsZSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmNtcy1tb2R1bGUgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5jbXMtbW9kdWxlIGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMSwgLmNtcy1tb2R1bGUgb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgyLCAuY21zLW1vZHVsZSBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDMsIC5jbXMtbW9kdWxlIG9sICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNCwgLmNtcy1tb2R1bGUgb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg1LCAuY21zLW1vZHVsZSBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDYsIC5jbXMtbW9kdWxlIG9sICsgaDYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmNtcy1tb2R1bGUgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLW1vZHVsZSBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAuY21zLW1vZHVsZSB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YmVmb3JlLCAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkuY2VsbC1ndXR0ZXJzIHtcbiAgICAgIGdhcDogMTBweDsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5ID4gaW1nIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5IGEge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSBhIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jbXMtbW9kdWxlIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vXCJdIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuY21zLW1vZHVsZSBjb2RlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGNvZGU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIHBhZGRpbmcgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSwgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBvcGFjaXR5OiAuNDtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuY21zLW1vZHVsZSBhOmhvdmVyIGgyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGZhbHNlLCBub25lLCB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLW1vZHVsZSBhOmhvdmVyIGgzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGZhbHNlLCBub25lLCB1bmRlcmxpbmU7IH1cbiAgLmNtcy1tb2R1bGUgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICBnYXA6IDI1cHg7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvKiogV29yayBvdXQgdGhlIGNvbHVtbiB3aWR0aCwgdGhpcyB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBmb3IgYSAyIGNvbHVtbiBsYXlvdXQgd2hpY2ggZ29lcyBkb3duIHRvIGEgc2luZ2xlIGNvbHVtbiBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnNcclxuICAgICAgICAgICAgLSBJbiBtb2JpbGVcclxuICAgICAgICAgICAgLSBXaGVuIHRoZSBtb2R1bGUgY29udGFpbmVyIGlzIG5vIGxvbmdlciB3aWRlIGVub3VnaCB0byBzaG93IHRvIGNvbHVtbnMgd2l0aCBhIHdpZHRoIG9mIHRoZSBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aCBiZWxsb3cuXHJcbiAgICAgICAgICAgICoqL1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbi1jb250ZW50LCA1NjBweCkpO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBnYXA6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiA1NTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfVxuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNy41JTsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG4gICAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDQ3NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogMzc1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IH0gfVxuICAgIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDkwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tbGVmdCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcC5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtdG9wIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAucmVhZC1tb3JlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxheW91dC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3Q6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIgaW1nLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtaGVhZGluZywgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNtcy1jb250ZW50LCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNtcy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyICsgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciArIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWJhbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5jb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKSAuY29udGVudC1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jbXMtbW9kdWxlIC5tb2R1bGUtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY21zLW1vZHVsZSAuYmxvZy1idXR0b24sIC5jbXMtbW9kdWxlIC5uZXdzLWJ1dHRvbiwgLmNtcy1tb2R1bGUgLmV2ZW50cy1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgd2lkdGg6IDU5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3MHB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNzVweDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQgLnJvdy1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSAubmV3cy1tb2R1bGUge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAubmV3cy1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAubmV3cy1tb2R1bGUge1xuICAgICAgbWFyZ2luOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW46IDQwcHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZCAucm93LWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUuY2Fyb3VzZWwtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgMCA1MHB4OyB9XG5cbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbCgyMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtZnVsbC1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSAuY21zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubW9kdWxlLWNvbmZpZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSwgLm1vZHVsZS1jb25maWcgc3Ryb25nLCAubW9kdWxlLWNvbmZpZyBoMyB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLm1vZHVsZS1jb25maWcgbGksIC5tb2R1bGUtY29uZmlnIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5tb2R1bGUtY29uZmlnIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubW9kdWxlLWNvbmZpZyBoMzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cblxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUge1xuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDI1JTtcbiAgLS1ib3JkZXItcmFkaXVzLXhsYXJnZTogNTAlO1xuICAtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XG4gIC0tYm9yZGVyLXdpZHRoLWxpZ2h0OiAycHg7XG4gIC0tYm9yZGVyLXdpZHRoLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci13aWR0aC1ib2xkOiAxMHB4O1xuICAtLWltYWdlLXJlZHVjZS1zbWFsbDogLjk1O1xuICAtLWltYWdlLXJlZHVjZS1tZWRpdW06IC44MDtcbiAgLS1pbWFnZS1yZWR1Y2UtbGFyZ2U6IC42MDsgfVxuICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1ib3JkZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtYm9yZGVyIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgI2ZmZmZmZik7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICNmZmZmZmYpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuOHM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmJlZm9yZSwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC44czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSAvIDIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygodmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSkgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciBpbWcsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tcmVkdWNlLWltYWdlLCAwLjk1KSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuaW1hZ2UgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmNlbGwtYm9yZGVyLWRlZmF1bHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5jZWxsLWJvcmRlci1kZWZhdWx0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyB7XG4gIHBhZGRpbmc6IDIwcHggMCAwO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtdG9wIC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDEwMHB4OyB9IH1cblxuLmFuaW1hdGlvbi1tb2R1bGUge1xuICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmFuaW1hdGlvbi1tb2R1bGUgW2RhdGEtYW5pbWF0aW9uXSB7XG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8pOyB9XG5cbi8qXHJcbi0tLS0tIFN0b2NrIEluZGljaWF0b3IocykgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBJbnN0b2NrLCBPdXQgb2Ygc3RvY2sgJiBMb3cgc3RvY2sgaWNvbnMuXHJcbi0gRW1haWwgd2hlbiBiYWNrIGluIHN0b2NrXHJcbiovXG4uc3RvY2staW5kaWNhdG9yLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBwOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSAuc3RvY2tMZXZlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zdG9jay1pbmRpY2F0b3IucHJlc2V0MiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgYTpob3ZlciwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIGE6aG92ZXIsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWwge1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWw6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogIzJiNjljNjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgc3BhbiB7XG4gIGNvbG9yOiAjMmI2OWM2OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSAubGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICMxNTViZDU7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIHNwYW4ge1xuICBjb2xvcjogIzE1NWJkNTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIC5zdG9ja0xldmVsIHtcbiAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpob3ZlciAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogIzIwYWNlOTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmUgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24gLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb246bm90KC5hY3RpdmUpOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74OzXCI7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLnN0b2NrLWluZGljYXRvciBbZGF0YS10b29sdGlwXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLnN0b2NrLWluZGljYXRvciAubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY29sbGVjdGlvbi1vbmx5LWluZGljYXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCYXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIHtcbiAgICAgIHRvcDogMTB2dyAhaW1wb3J0YW50OyB9IH1cbiAgI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyAuY21zQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4jbm90aWZpY2F0aW9uRm9ybUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwOyB9IH1cblxuI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgbWF4LXdpZHRoOiA4NXZ3O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgICAgIG1heC13aWR0aDogMzB2dzsgfSB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNlNDc1YjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC41KTtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuW2RhdGEtc3RvY2staW5kaWNhdG9yLXVwZGF0ZV0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGNhbGMoMzAlIC0gNy41cHgpLCAxZnIpIG1pbm1heChjYWxjKDcwJSAtIDcuNXB4KSwgMWZyKTtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMjBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSB7XG4gICAgICAgIGdhcDogMTBweCAwOyB9IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCAuY2FsbGJhY2tDb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICAgICAgZ2FwOiAxMHB4IDMwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGU6bm90KDpoYXMoKikpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIGhyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b246YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktaGVhZGluZy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG5cbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktbW9kdWxlIC5sYWJlbCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG4gICAgLnF1YW50aXR5LW1vZHVsZSAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH1cblxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4IDVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMDsgfSB9XG5cbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgI2FkZGl0aW9uYWwtaW1hZ2VzLCAjcHJvZHVjdEltYWdlIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5zbGlkZS5hY3RpdmUgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4Nzg3ODc7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LFxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsXG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGxlZnQ6IDIxcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9IH1cblxuI21haW5JbWFnZUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cbiAgI21haW5JbWFnZUNvbnRhaW5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIGltZyB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZyksICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzOmhhcyhpbWcpIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG5cbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfSB9XG5cbi5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAucGFydC1jb2RlLWNvbnRhaW5lciBwLCAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgc3BhbiwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBnYXA6IDEwcHggMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnZhbHVlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIGJ1dHRvbiwgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC50b29sdGlwLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciBidXR0b24sIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAudG9vbHRpcC10cmlnZ2VyIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG5cbiNwcm9kdWN0ICNwcm9kdWN0LWluZm8tbGVmdCBoMSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuc2xpZGUgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuYWRkQnV0dG9uQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBvcmRlcjogNDsgfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgcCwgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC5wcm9kdWN0LXJlYWQtbW9yZSB7XG4gICAgaGVpZ2h0OiAxNHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnRhYmJlZC1yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgLmNhcm91c2VsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3JkZXI6IDQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cblxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMTVweCAwIDEwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtdG94aWMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnXCIpOyB9XG4gICAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbi5oYXotY2F0LWdhcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtY29ycm9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZW52aXJvbm1lbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZXhwbG9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZmxhbW1hYmxlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3pvbmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3hpZGlzaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtaGVhbHRoIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2Z1wiKTsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB1bCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDEsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgyLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDQsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg1LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNiwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHAsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIC5yZWFkLW1vcmU6bm90KDpoYXMoLnJlYWQtbW9yZS1jb250ZW50KSkge1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gbGkge1xuICBtYXJnaW46IDVweCAwOyB9XG5cbiNzcGxpdC1zcGVjaWZpY2F0aW9uIGxpLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBwLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBhLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBzcGFuIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLnNwbGl0LXNwZWNpZmljYXRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnJycCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1wcmljZSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1zaXplIHtcbiAgICBvcmRlcjogNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLWl0ZW0tcHJpY2Uge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnNhdmluZyB7XG4gICAgb3JkZXI6IDM7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC5sYWJlbDplbXB0eSArIC52YWx1ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgb3JkZXI6IDU7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLmNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLnByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLmFkZC1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGQuY29kZS1jb2wge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgbGkge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgxLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDMsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg0LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDYsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBkbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciAuZmF2b3VyaXRlczphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiZmJmYmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiBzcGFuLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHNwYW4ge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUge1xuICAgIG1hcmdpbjogMTVweCAwIDA7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRoLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAwIDVweCAxMHB4OyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0Ym9keSB0ZCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGJvZHkgdGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0Ym9keSB0ZC5zYXZpbmdzLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGJvZHkgdGQuc2F2aW5ncy1jb2wge1xuICAgICAgICBjb2xvcjogIzJiNjljNjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnF1YW50aXR5LWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnF1YW50aXR5LWNvbCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAucHJpY2UtcGVyLWl0ZW0tY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAucHJpY2UtcGVyLWl0ZW0tY29sIHtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5zYXZpbmdzLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnNhdmluZ3MtY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMjBweDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAtLXByaWNlLW1heC13aWR0aDogMWZyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gICAgICAtLXByaWNlLW1heC13aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAgICAgLS1wcmljZS1tYXgtd2lkdGg6IDQwJTsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XG4gIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlIC52YWx1ZSB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMjBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCB2YXIoLS1wcmljZS1tYXgtd2lkdGgpKSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTkwcHgsIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtIDEwcHgpKSk7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOTBweCwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gMTBweCkpKTtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6bm90KDpoYXMoKikpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOm5vdCg6aGFzKCopKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDIwcHggLyAyICogLTEpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMjBweCAvIDIgKiAtMSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IHVuc2V0OyB9IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnNhdmluZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnNhdmluZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAgKyAuc2F2aW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwICsgLnNhdmluZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YWx1ZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIC5jYXNlLXByaWNlIHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcgLnByaWNlIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4uZGVsaXZlcnktY291bnRkb3duLWNvbnRhaW5lciBbZGF0YS1jb3VudGRvd24tdGltZV0ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlcyAuY29sbGVjdGlvbi1pdGVtLmFjdGl2ZSAudGh1bWJuYWlsIGEsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIwYWNlOTtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC44czsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6aG92ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzMiwgMTcyLCAyMzMsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8zZGljb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE4LCAyMTgsIDIxOCwgMC4yKTsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGF1dG87IH0gfVxuXG4uZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBhLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHNwYW4sIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gcCwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBkaXYge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgc3BhbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjE1NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjE1NjI1cmVtOyB9IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0xID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMiA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMyA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNCA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmxhYmVsLCAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDI3JTsgfSB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucGFydC1jb2RlLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0SW1hZ2UsICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMjsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjVweCAwIDQ1cHg7IH0gfVxuXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNhMjM0ZTM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogMTBweCA0MHB4OyB9IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHJbY29sc3Bhbj1cIjJcIl0gdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuI2Jhc2tldC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1mb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNiYXNrZXQtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuXG4jYmFza2V0LXRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIHRkOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCksICNiYXNrZXQtdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICAjYmFza2V0LXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjYmFza2V0LXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyIHNwYW47IH0gfVxuICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgbWluLXdpZHRoOiA0MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTBweCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbG9yOiByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuNik7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI2Jhc2tldC10YWJsZSAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNiYXNrZXQtdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIG1heC13aWR0aDogMTUlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5hZGQtdG8tYmFza2V0LWNvbCB7XG4gICAgICB3aWR0aDogMTUlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwge1xuICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBvcmRlcjogMjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgb3JkZXI6IDQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICB3aWR0aDogNSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5NTk1OTU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1pdGVtLXJvdyB0ZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuY29sLWxhYmVsLCAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wgLmNvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMzBweDtcbiAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdGQ6bm90KC5pbWFnZS1jb2wpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuaW1hZ2UtY29sIHtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiBzcGFuIDQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gICAgICB3aWR0aDogMTIuMiU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMzsgfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAzMCU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5jb2RlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuICBncmlkLXJvdzogMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiAyMCU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5xdWFudGl0eS1jb2wge1xuICBncmlkLXJvdzogNDsgfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGdyaWQtcm93OiA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIHtcbiAgICAgIHdpZHRoOiAxOC45JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmFkZC1jb2wgLmFkZFRvQmFza2V0Lmljb24sIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmFkZC1jb2wgLmJhc2tldC1hZGQtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdHIsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdHIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XG4gICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuXG50YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCAuY29sLWxhYmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIC5jb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7IH0gfVxuXG50YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICBnYXA6IDEwcHggMDsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHksIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIuYWxpZ24tcmlnaHQsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIuYWxpZ24tcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHksIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA1OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wgLnJlbW92ZS1idXR0b24sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIC5yZW1vdmUtYnV0dG9uIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuXG4jYmFza2V0LXN0aWNreS1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAjYmFza2V0IC5iYXNrZXQtaXRlbS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIHBhZGRpbmc6IDQ1cHg7IH0gfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74ORXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjNzI3OThhOyB9XG4gICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXI6aGFzKC5zZXBlcmF0b3I6bm90KDplbXB0eSkpIHtcbiAgICBnYXA6IDIwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIuaW52YWxpZCBhIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4IDVweCk7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Mjc5OGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246YWN0aXZlLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24uZGlzYWJsZWQsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0gKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLnZvdWNoZXIgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKxcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52YXQgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipVcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciBsYWJlbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBjb2xvcjogIzcyNzk4YTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBuby13cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci5pcy1pbnZhbGlkLWNvbnRhaW5lciArIC5mb3JtLWVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHgpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmFjdGl2ZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Mjc5OGE7XG4gICAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpkaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHlbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTphY3RpdmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpkaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5kaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBhIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBhIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgxLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg0LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGEge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmRpc2FibGVkIHAge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmJlZm9yZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJ0ZWw6XCJdLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg6BcIjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+huVwiO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMCA1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ud2FybmluZy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLndhcm5pbmctY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jYmFza2V0LWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDIwcHggMCAzNXB4O1xuICBnYXA6IDE1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNiYXNrZXQtY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcbiAgICAgIGdhcDogMTVweCAwOyB9IH1cbiAgI2Jhc2tldC1jb250cm9scyAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGdhcDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzMHB4KTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDphY3RpdmUsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgKFcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmFjdGl2ZSwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6ZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5kaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5kaXNhYmxlZDphZnRlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ2FwOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZ2FwOiAxNXB4OyB9IH1cbiAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzA1cHg7IH0gfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJhMmY2MDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFza2V0LXRvdGFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbiNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjaywgLnN1bW1hcnktY29udGFpbmVyLmlzLXN0dWNrIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZC5pcy1hdC10b3AsIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1hbmNob3JlZC5pcy1hdC10b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAjYmFza2V0LXN1bW1hcnkuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjhzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlIHtcbiAgICBvcmRlcjogNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDg7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3RvdGFsLXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA4OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdmF0LWlucHV0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogOTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNlZGl0LWJhc2tldC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDExOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAjYmFza2V0LXN1bW1hcnkgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1jb250YWluZXIgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWludHJvLWNvbnRhaW5lciBwLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbS5oaWdobGlnaHRlZCB7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4udmFsdWUge1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSAuaW5jVmF0LCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSAuaW5jVmF0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5ICN0b3RhbC12YWx1ZSAubGFiZWwsICNiYXNrZXQtc3VtbWFyeSAjdG90YWwtdmFsdWUgLnZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIgI3RvdGFsLXZhbHVlIC5sYWJlbCwgLnN1bW1hcnktY29udGFpbmVyICN0b3RhbC12YWx1ZSAudmFsdWUge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMzBweCA3cHggMCAwO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFmdGVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmhvdmVyLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFjdGl2ZSwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2RlbGl2ZXJ5LXNlbGVjdG9yIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIHNlbGVjdCwgI2RlbGl2ZXJ5LXNlbGVjdG9yIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1sYWJlbCB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktc2VydmljZSwgI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1hcmVhIHtcbiAgICB3aWR0aDogNDA1cHg7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1zZXJ2aWNlLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5saW5rLWZhaWxlZC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxpbmstZmFpbGVkLWNvbnRhaW5lciAubGluay1mYWlsZWQtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmxpbmstZmFpbGVkLWNvbnRhaW5lciAucHJpbWFyeS1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hg1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5icmFuY2gtc3dpdGNoZXI6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5hY2NvdW50LXN3aXRjaGVyOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS1jYWxsczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJ5cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jaGFuZ2UtZGV0YWlsczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIFcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jb250YWN0LXByZWZlcmVuY2VzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ghVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNvbnRyYWN0LWl0ZW1zOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ghlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNlcnZpY2UtY29udHJhY3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3M6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi04OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGFXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYFcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ub25saW5lLWRvY3VtZW50YXRpb246YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGEXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZmF2b3VyaXRlczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTExOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubG9nb3V0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIpcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS52aWV3LW9yZGVyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCOXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIJcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtY2FyZHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnBheW1lbnQtcmVxdWVzdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gplwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRvd25sb2FkLXByaWNlLWxpc3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuobpcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gj1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnNpdGUtbGlzdDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTIyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC/XCI7XG4gIGNvbG9yOiAjNWY3YjI3OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnN0YXRlbWVudDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCHXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6giVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnVwbG9hZC1iYXNrZXQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gtlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnVwbG9hZC1vcmRlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gtVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS11c2VyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCNXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZW1wbG95ZWUtc3RhdHVzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjk6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYtcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hglwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FulwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGSXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qClXCI7XG4gIGNvbG9yOiAjMzM2Njk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GLXCI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYFcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkLCAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uLmZ1bmN0aW9uLTE2IHtcbiAgICAgICAgZm9udC1zaXplOiA1LjMzMzMzcHg7IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7IH1cblxuLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMzVweCAwIDIwcHg7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlLnNpdGUtc3R5bGUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMzBweDtcbiAgICBwYWRkaW5nOiAxOXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuICAgICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICBmbGV4OiAxO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2U6aG92ZXIgc3BhbltjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcbiAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5jaGFuZ2UtcGFzc3dvcmQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNiB7XG4gICAgZm9udC1zaXplOiA4cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmNoYW5nZS1kZXRhaWxzLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tNCB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5tYW5hZ2UtY2FyZHMsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNyB7XG4gICAgZm9udC1zaXplOiAyM3B4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi05IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTM1IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmxvZ291dCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTI5IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cblxuLmFjY291bnQtbWVudSAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLmFjY291bnQtbWVudSBoMiB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LW1lbnUgaDIge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2Uge1xuICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAjYWNjb3VudC1wYWdlLWdyaWQgLmFjY291bnQtcGFnZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZmF2b3VyaXRlczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24udmlldy1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zdGF0ZW1lbnQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS11c2VyczpiZWZvcmUge1xuICBmb250LXNpemU6IDU1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmxvZ291dDpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhbGxzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5wYXltZW50LXJlcXVlc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnNpdGUtbGlzdCB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm9ubGluZS1kb2N1bWVudGF0aW9uIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIC5sYWJlbCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAucGFnaW5hdGlvbkxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMzVweDsgfSB9XG4gIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyLmNlbnRlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5vcmRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciArIC5yZXNwb25zaXZlLXRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAub3JkZXItZGV0YWlscywgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRlbGl2ZXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUge1xuICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyLnByZXNldC0xICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1MTVweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQ6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSwgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwOyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGEge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMTQ5LCAxNDksIDE0OSwgMC42KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZy5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgICB3aWR0aDogMTUlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICB3aWR0aDogNSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcmRlcjogNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnJlbW92ZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KSBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KTtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lciAjYmFza2V0LXN1bW1hcnkge1xuICAgIG1hcmdpbjogMDsgfVxuICAub3JkZXItY29udGFpbmVyICNiYXNrZXQtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA1cHggMDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsgfSB9XG4gIC5vcmRlci1kZXRhaWxzLmlubGluZSwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweCAyMHB4OyB9XG4gICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZ2FwOiA1cHg7IH1cbiAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4sIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5vcmRlci1kZXRhaWxzLnBheWVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeS5wYXllci1kZXRhaWxzLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5wYXllci1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnktaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBoMywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcgaDMsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBhLmVkaXQsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nIGEuZWRpdCwgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIGEuZWRpdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmRldGFpbC1pdGVtLWNvbnRhaW5lciwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lcjpoYXMoPiBwOmVtcHR5KSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyOmhhcyg+IHA6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogMTcwcHg7IH0gfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gcCwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBwLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBwIHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgYSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIGFkZHJlc3MsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciBhZGRyZXNzIHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZzphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxmMGRkJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG5cbi5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5ncmlkLXgge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIgLmdyaWQteCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgfSB9XG5cbi5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG5cbi5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAuY29udGFpbmVyLXJlZmVyZW5jZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuXG4udXNlcnMtZm91bmQtY291bnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnVzZXJzLWZvdW5kLWNvdW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAudXNlcnMtZm91bmQtY291bnQgc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudXNlcnMtZm91bmQtY291bnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3VzZXJzLXRhYmxlIHRkIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgI3VzZXJzLXRhYmxlIHRkIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN1c2Vycy10YWJsZSB0ZCAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3VzZXJzLXRhYmxlIHRkLnVzZXJzLWNvbnRhY3QtY29sIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuI3VzZXJzLXRhYmxlIC51c2Vycy1hY2NvdW50LWNvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICN1c2Vycy10YWJsZSAudXNlcnMtYWNjb3VudC1jb2wge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1jb250YWN0LWNvbCB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1lbWFpbC1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZGVsZXRlLWNvbCB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1kZWxldGUtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZGVsZXRlLWNvbCAucmVtb3ZlLXVzZXItYnV0dG9uIHtcbiAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4ucmVtb3ZlLXVzZXItYnV0dG9uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZW1vdmUtdXNlci1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvi61cIjtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGZvbnQtc2l6ZTogMS4xMzYzNnJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5yZW1vdmUtdXNlci1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5yZW1vdmUtdXNlci1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIgLnByaW1hcnktYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciAuc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIgLnRlcnRpYXJ5LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4jc2VsZWN0LWJyYW5jaGVzLXRhYmxlIHtcbiAgbWF4LXdpZHRoOiA4NTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAuYnJhbmNoLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmJyYW5jaC1jb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH0gfVxuICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIHRkLmJyYW5jaC1jb2wge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5hbGxvdy1sb2dpbi1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC10eXBlLWNvbCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLW51bWJlci1jb2wge1xuICAgIHdpZHRoOiAxODBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDI0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbiN0b2tlbnMtdGFibGUsIC50b2tlbnMtdGFibGUge1xuICBtYXJnaW46IDA7IH1cbiAgI3Rva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSwgLnRva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICN0b2tlbnMtdGFibGUgdGQsIC50b2tlbnMtdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8sIC50b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgI3Rva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXJlbW92ZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQsIC50b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uby10b2tlbnMtZm91bmQge1xuICBtYXJnaW46IDUwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm5vLXRva2Vucy1mb3VuZCB7XG4gICAgICBtYXJnaW46IDEwMHB4IDA7IH0gfVxuICAubm8tdG9rZW5zLWZvdW5kIC5uby10b2tlbnMtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KdXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICBjb2xvcjogI2RhZGFkYTsgfVxuXG4ucGF5bWVudC1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ubW9kYWwtY29udGFpbmVyW3R5cGU9c2VsZWN0LXBheW1lbnRdICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87IH1cbiAgI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0gZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNhdmUtY2FyZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2F2ZS1jYXJkLWNvbnRhaW5lciAuY29udHJvbC5jaGVja2JveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnNhdmUtY2FyZC1jb250YWluZXIgLmxhYmVsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4jcGF5bWVudC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7IH1cblxuLnN0YXRlbWVudC1saXN0LWNvbnRhaW5lci5pbi1hY3RpdmUsIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lci5pbi1hY3RpdmUsIC5hY2NvdW50LXBheS1jb250YWluZXIuaW4tYWN0aXZlIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHAgc3BhbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDsgfSB9XG5cbi5zdW1tYXJ5LWNvbnRhaW5lci5zdGF0ZW1lbnQgLnN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyLmFjY291bnQtcGF5bWVudC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcge1xuICBtYXJnaW46IDAgMCA0MHB4OyB9XG5cbi50cmFuc2FjdGlvbi10eXBlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJhbnNhY3Rpb24tdHlwZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmRpcmVjdC1kZWJpdC1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZGlyZWN0LWRlYml0LWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGOXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG50YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5icmFuY2gtY29sIHtcbiAgICAgIHdpZHRoOiA2LjIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5uZXh0LWR1ZS1kYXRlLWNvbCB7XG4gICAgICB3aWR0aDogOCU7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC55b3VyLXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuc2t1LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdmFsdWUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdHlwZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB0ZC5jb250cmFjdC10eXBlLWNvbCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC1ncm91cC1jb2wge1xuICAgICAgd2lkdGg6IDkuOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmZyZXF1ZW5jeS1jb2wge1xuICAgICAgd2lkdGg6IDguNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnBheW1lbnQtbWV0aG9kLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnRlcm1pbmF0aW9uLWRhdGUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuYmFsYW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5yZW5ld2FsLWNvbCB7XG4gICAgICB3aWR0aDogNS41JTsgfSB9XG4gIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50dWJzLXJlbmV3LWJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50dWJzLXJlbmV3LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDM1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5pdGVtLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5pdGVtLWNvbCB7XG4gICAgd2lkdGg6IDUlOyB9IH1cblxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDE0JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgdGguZGVzY3JpcHRpb24tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuaW52b2ljZXMtY29sLCB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmRlbGl2ZXJpZXMtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmludm9pY2VzLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5kZWxpdmVyaWVzLWNvbCB7XG4gICAgd2lkdGg6IDEyJTsgfSB9XG5cbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSB1bCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLml0ZW0tY29sIHtcbiAgICB3aWR0aDogNi45NSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnF1YW50aXR5LWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjclO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLm91ci1yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC55b3VyLXJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmNvbnRyYWN0cy10YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuY29udHJhY3RzLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG50YWJsZS5jb250cmFjdHMtdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnR5cGUtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAudmFsdWUtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnN0YXR1cy1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5kYXRlLWNvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmhvdmVyLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY2NvdW50LXJldHVybi1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246YWN0aXZlLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpkaXNhYmxlZCwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5kaXNhYmxlZCwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAucGF5LWNvbCB7XG4gICAgd2lkdGg6IDYuMiU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmRhdGUtY29sIHtcbiAgICB3aWR0aDogMjAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC50aW1lLWNvbCB7XG4gICAgd2lkdGg6IDguNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxOC4xJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuYW1vdW50LWNvbCB7XG4gICAgd2lkdGg6IDEwLjglOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5jb250YWN0LWNvbCB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5zaXRlLWxpc3QtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfSB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5iZXNwb2tlLXNpdGUtaWNvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qChXCI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbzpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7IH1cbiAgICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1czpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuc3VjY2VzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogIzEyODExZjsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLmZhaWxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BqlwiO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLnVua25vd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZlcIjtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5jYW5jZWxsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvio1cIjtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5pbi1wcm9ncmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIu+EkFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGFuaW1hdGlvbjogc3Bpbm5lciAxLjVzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wdWJsaXNoLWhpc3RvcnkgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGJvZHkgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZC5zaXRlLWxvZ28tY29sIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGQgLmNvbC1sYWJlbCB7XG4gIHdpZHRoOiA0MCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ZCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0aC5zaXRlLWxvZ28tY29sIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdHIuc3RhZ2luZy1zaXRlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCB7XG4gICAgd2lkdGg6IDExMnB4O1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICBoZWlnaHQ6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIC5pbWFnZSwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28gYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIGhyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBociB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZW52aXJvbm1lbnQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZW52aXJvbm1lbnQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRoLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZW52aXJvbm1lbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmxpY2Vuc2UtY29sLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnB1Ymxpc2hpbmctY29sIHtcbiAgICB3aWR0aDogMTEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc3RhcnRlZC1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuZW5kZWQtY29sLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmxhc3QtdG91Y2gtY29sIHtcbiAgICB3aWR0aDogMTQ1cHg7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDIwcHg7XG4gIG1hcmdpbjogMzBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCBidXR0b24sIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCBhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgcGFkZGluZzogMTBweCAxNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDRweDsgfVxuXG4uc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIuc3RhZ2luZy1zaXRlIC5zaXRlLWxvZ28ge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyB7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gLmltYWdlLCAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIGhyIHtcbiAgICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDVweCAwOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24gPiBzcGFuIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24gcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24gKyAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciBidXR0b24sIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogNzRweDsgfVxuXG4vKlxyXG4tLS0tLSBDTVMgU3R5bGluZyAtLS0tLS0gXHJcbi0gU3R5bGUgZm9yIHRoZSBhY3R1YWwgY21zIHBhZ2VzIHRoZW1zZWx2ZXM6XHJcbiAgLSBDTVMgRW50cnlcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gQ01TIFNlcmllc1xyXG4tIENNUyBlbnRyeSBjb250cm9sc1xyXG4tIENNUyBtb2R1bGVcclxuLSBDTVMgY29udGVudCBjb250YWluZXIsIHRoaXMgZ2V0IHVzZWQgdGhyb3VnaG91dCBleHByZXNzIGZvciB2YXJpb3VzIHBpZWNlcyBvZiBjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBpbiB0aGUgdm1hZG1pbidzIGNtcyBzeXN0ZW0gdGhlc2UgYmxvY2sgb2YgY29udGVudCBjYW4gbGl0ZXJhbGx5IGJlIGFueXdoZXJlICggaGVhZGluZ3MgZm9yIHBhZ2VzLCBpbiB0aGUgZm9vdGVyLCBhamF4IHJlc3BvbnNlcyApLlxyXG4qL1xuLmRpc3BsYXktY21zLXNlcmllcy1pbnRybywgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHtcbiAgbWF4LXdpZHRoOiA4NTBweDtcbiAgbWFyZ2luOiAxNXB4IGF1dG8gMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8uY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM3YjdiN2I7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy1pbnRybyBwLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM3YjdiN2I7IH1cblxuLmRpc3BsYXktY21zLXNlcmllcyB7XG4gIG1hcmdpbjogMjVweCAwIDA7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBhOmhvdmVyIGgzLCAuZGlzcGxheS1jbXMtc2VyaWVzIGE6aG92ZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMyMGFjZTkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuZW50cnktY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcyAuZW50cnktY29udGVudCBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5uZXdzIC5jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5uZXdzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ibG9nIC5jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ibG9nIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ldmVudHMgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmV2ZW50cyAuY2VsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudmlkZW8tcGxheWxpc3QgLmNlbGwgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jZWxsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNlbGw6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jZWxsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDI3MHB4O1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDExMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICB3aWR0aDogMzEwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDMwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgICBoZWlnaHQ6IDMwJTsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY2VsbCBhIHtcbiAgICBtYXgtaGVpZ2h0OiA1MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNlbGwgYSB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHg7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuZHVyYXRpb24tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNvbnRlbnQtY29udGFpbmVyIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCB7XG4gICAgaGVpZ2h0OiA1MzBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwge1xuICAgICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuY29udGVudC1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTcwcHg7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIHtcbiAgICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMzVweCA0NXB4OyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jb250ZW50LWJhbm5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgbWFyZ2luOiAwIDAgMTdweDsgfVxuXG4ucHVibGlzaC1kYXRlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4ucmVhZC1tb3JlLWFuY2hvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVhZC1tb3JlLWFuY2hvciB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwOyB9IH1cbiAgLnJlYWQtbW9yZS1hbmNob3I6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAyNXB4IDMwcHggNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCAxMTBweCA3MHB4OyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIubmV3cy1hcnRpY2xlIC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74eqXCI7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuZXZlbnQgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbNcIjsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5ibG9nLXBvc3QgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgoZcIjsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyLmluZm9ybWF0aW9uLnN0eWxlLTEge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZyBoMSB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMSAxcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDEge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDE6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDQge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg1IHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDYge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDMsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDYsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkuY2VsbC1ndXR0ZXJzIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgPiBpbWcge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIHRoLCB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0gZmllbGRzZXQgaDIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmJhY2tncm91bmQtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuYmFja2dyb3VuZC1zZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmZpcnN0LWNoaWxkKSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDc4JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtY29udGVudC1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5jbXMtZW50cnktbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogNDBweCAwIDMwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJ5LW5hdmlnYXRpb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLmxhYmVsLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbiwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b24ge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMyYjY5YzY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246Zmlyc3Qtb2YtdHlwZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmhvdmVyLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3gtc2hhZG93OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmFjdGl2ZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bk1wiOyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5uZXh0LWNtcy1lbnRyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GUXCI7IH1cblxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4IDA7XG4gIG1hcmdpbjogMTVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMzBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDE1cHggMTVweCk7XG4gICAgY29sb3I6ICMyYjY5YzY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlcjpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZTpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5kaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnlbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkOmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GTXCI7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjMmI2OWM2O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxNXB4IDE1cHgpO1xuICAgIGNvbG9yOiAjMmI2OWM2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpob3ZlcjphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTphY3RpdmU6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQ6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmRpc2FibGVkOmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgY29sb3I6ICMyYjY5YzY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAyMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIsIC5jbXMtZW50cnktYmFjay1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjphY3RpdmUsIC5jbXMtZW50cnktYmFjay1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3OThhO1xuICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnNpdGUtbWFwIHtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuICAuc2l0ZS1tYXAgPiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2l0ZS1tYXAgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOm9ubHktY2hpbGQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6aG92ZXIgYTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5zaXRlLW1hcCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IGEsIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBhOmJlZm9yZSwgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDM1cHggMCAyNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgLmNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDdweCAwOyB9XG4gICAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCAuY2hpbGQgPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuc2l0ZS1tYXAgLnBhcmVudCBhOmhvdmVyLCAuc2l0ZS1tYXAgdWwgLmNoaWxkID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2l0ZS1tYXAgLnBhcmVudCBhOmFjdGl2ZSwgLnNpdGUtbWFwIHVsIC5jaGlsZCA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzcyNzk4YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzJiNjljNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM3Mjc5OGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyLCAuYmFjay10by1pbmZvcm1hdGlvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJhY2stdG8taW5mb3JtYXRpb246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhY2stdG8taW5mb3JtYXRpb24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uOmFjdGl2ZSwgLmJhY2stdG8taW5mb3JtYXRpb24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3OThhO1xuICAgIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZCwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQsIC5iYWNrLXRvLWluZm9ybWF0aW9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZDpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMnB4IDAgNDFweDsgfVxuICAuY21zLWNvbnRhaW5lciBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5kaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBkaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDEge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMyMGFjZTk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDU6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgb2wge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDAgMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDIsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNCwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDUsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgZGwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIGgyIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3MgLmFtb3VudC1wYWlkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMTI4MTFmOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgaDIge1xuICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IHAge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgLmFtb3VudC1wYWlkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuY2VudGVyLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciB7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDIsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDMsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDQsIC5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3IgaDUge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuZ3V0dGVyLXkge1xuICBtYXJnaW46IDEycHggMCA0MXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIucGFnZS1oZWFkaW5nLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLm5vLXNpZGUtcGFkZGluZyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmUge1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlZWVlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmUge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsIHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSk7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgYVtjbGFzcyo9XCItYnV0dG9uXCJdOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyB0YWJsZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUG9wdXBzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI3BvcHVwT3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC41KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDUwMDAwOyB9XG4gICNwb3B1cE92ZXJsYXk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMDsgfVxuXG4jcG9wdXBDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDIlO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwb3B1cENvbnRhaW5lciB7XG4gICAgICB3aWR0aDogODQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQge1xuICAgIG1heC1oZWlnaHQ6IDkwJTsgfVxuICAgICNwb3B1cENvbnRhaW5lci5zdGFuZGFyZCAjcG9wdXBDb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAgICNwb3B1cENvbnRhaW5lci5zdGFuZGFyZCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAjcG9wdXBDb250YWluZXIuc2Nyb2xsICNwb3B1cENvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc2Nyb2xsICNwb3B1cENvbnRlbnQgLmNvbnRlbnRDb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyIGxlZ2VuZCB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpOyB9XG4gICNwb3B1cENvbnRhaW5lciBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgICAgIHdpZHRoOiA3NDBweDsgfSB9XG4gICNwb3B1cENvbnRhaW5lciAuY29uZmlybWF0aW9uQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMTI4MTFmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbjogMCAxZW0gMCAwO1xuICAgIHBhZGRpbmc6IDEzcHggMTBweDsgfVxuICAjcG9wdXBDb250YWluZXIgLnBvcHVwQnV0dG9uQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciAucG9wdXBDbG9zZUJ1dHRvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uIHtcbiAgd2lkdGg6IDcwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAuY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAuY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uc2Vjb25kYXJ5LWJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NoZWNrb3V0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2VjdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuc2VjdGlvbi1idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtRmllbGRDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jY2hlY2tvdXRGb3JtIHNlbGVjdCB7XG4gIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAuY2hhbmdlRGV0YWlscyB7XG4gIG1hcmdpbjogNXB4IDAgMTVweDsgfVxuXG4jY2hlY2tvdXRGb3JtICNjaGVja291dEZvcm1EZXRhaWxzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzUsIDEzNSwgMTM1LCAwLjIpOyB9XG5cbiNjaGVja291dEZvcm0gLmNoZWNrb3V0LWRldGFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbiNjaGVja291dEZvcm0gI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XG4gIG1hcmdpbjogMjBweCAwIDM1cHg7IH1cbiAgI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG5cbiNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyIHtcbiAgbWFyZ2luOiA3NXB4IDAgMDsgfVxuICAjY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciAjY2hlY2tvdXRTdWJtaXRCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNlNDc1YjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC41KTtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciAjY2hlY2tvdXRTdWJtaXRCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG5cbiNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXgtaGVpZ2h0OiA4MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA3MC40cHggMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgaDE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGY0ZmYnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH0gfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuNSk7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2U0NzViO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MiwgNzEsIDkxLCAwLjUpO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDbG9zZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2U6ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2U0NzViO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MiwgNzEsIDkxLCAwLjUpO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDbG9zZTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cblxuI2NoYW5nZURldGFpbHMuc3VjY2VzcyBoMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuI2FjY291bnRQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jdGVybXMge1xuICBtYXJnaW46IDUwcHggMCAwOyB9XG5cbiNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuI2RlbGl2ZXJ5Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNkZWxpdmVyeVVwZ3JhZGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udmFsaWRhdGlvbkVycm9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uZGVsaXZlcnktb3B0aW9uIHtcbiAgd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LWNvbXBsZXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4jYmlsbFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lZGl0LmNoZWNrb3V0UG9wdXBMaW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgcCwgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgaDIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXI6aG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lcjpob3ZlciAucXVhdGVybmFyeS1idXR0b246bm90KDpob3Zlcikge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG8gMjVweCAwIDA7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CHXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICM4ODk5YWY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuXG4uZXJyb3JDb250YWluZXIucG9zdGNvZGVMb29rdXBTZWxlY3RDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmRlbGl2ZXJ5LXJlYWQtb25seSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxyXG4tLS0tLSA0MDQgLS0tLS0tIFxyXG4tIEFyZSB5b3UgbG9zdD8gXHJcbiovXG4uZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDUyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwNXB4OyB9IH1cblxuLmVycm9yLW5vdC1mb3VuZC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy80MDQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5MHB4IDMwcHg7IH1cblxuLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5MHZ3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDgwMHB4OyB9IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDYyLjVweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxMjVweCAwIDA7IH0gfVxuXG4vKlxyXG4tLS0tLSBMaWdodCBib3ggIC0tLS0tXHJcbi0gVGhpcyBnZXQgZGlzcGxheWVkIG9uIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSB0aGUgZnVsbCByZXNvbHV0aW9uIHByb2R1Y3QgaW1hZ2VzLlxyXG5GdW50aW9uYWxpdHkgdGhpcyBob2xkczpcclxuLSBMaWdodCBib3ggYWN0aXZlIC8gaW5hY3RpdmUgc3RhdGVzLlxyXG4tIFRoZSBvdmVybGF5IHN0eWxlcy5cclxuLSBBZGRpdGlvbmFsIEltYWdlcy5cclxuLSAzNjAgaW1hZ2Ugc3VwcG9ydC5cclxuLSBUaGUgaGVhZGVyIHRoYXQgZ2V0cyBnZW5lcmF0ZWQuXHJcbi0gVmlkZW8gcGxheWVyLlxyXG4qL1xuI2xpZ2h0Ym94LW92ZXJsYXkuYWN0aXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAwLjc7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG5cbi5saWdodGJveCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmxpZ2h0Ym94LmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5saWdodGJveC5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbiNsaWdodGJveC1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzk4YTtcbiAgei1pbmRleDogNTAwMDsgfVxuICAjbGlnaHRib3gtaGVhZGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNvdW50IHtcbiAgICBvcmRlcjogMTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsZXR0ZXItc3BhY2luZzogN3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDQ7IH1cblxuI2xpZ2h0Ym94LWNvbnRlbnQtb3V0ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG5cbiNsaWdodGJveC1jb250ZW50LWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5yZWVsLW92ZXJsYXkge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmltYWdlLmxpZ2h0Ym94LWVuYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjJ5cIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzNlNDc1YjtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uaW1hZ2UubGlnaHRib3gtZW5hYmxlZDpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzIwYWNlOTtcbiAgYm9yZGVyLWNvbG9yOiAjM2U0NzViOyB9XG5cbi5saWdodGJveCAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvIDE1cHg7IH1cblxuLmxpZ2h0Ym94IC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAubGlnaHRib3ggLnJlZWwtb3ZlcmxheSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbGlnaHRib3gtaGVhZGVyLWhlaWdodCkgLSAxMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LWhlaWdodDogNzB2aDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTAwcHgpO1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDg1dmg7IH0gfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZS5pcy12aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUuaXMtdmlkZW8ge1xuICAgICAgICAgICAgd2lkdGg6IDYwdnc7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSBpbWcsIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSAjbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LFxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldixcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUsXG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlLFxuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlLFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlLFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldi5kaXNhYmxlZCxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQuZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAycHggMDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZNcIjsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMnB4IDJweDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZRcIjsgfVxuXG4ubGlnaHRib3ggLnNsaWRlc0NvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IC0yMHB4IDZweCA2MHB4IC0xM3B4ICMwMDAwMDA7IH1cblxuLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC15IC5wc19fdGh1bWIteSB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC43KTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpIHtcbiAgICAgICAgICBmbGV4OiBpbmhlcml0OyB9IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIC5wc19fcmFpbC14IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXggLnBzX190aHVtYi14IHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC43KTsgfVxuXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cblxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4zKTsgfVxuXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaW1hZ2UtbWFnbmlmaWNhdGlvbi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24gLm1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM2U0NzViO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbC5kZS1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CQXCI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjlwiOyB9XG5cbi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cbi5jYXJvdXNlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsIC5ieC12aWV3cG9ydCwgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1mYWRlIC5ieC12aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDQwJSAtIDEwcHgpIGNhbGMoNjAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIG9yZGVyOiAxOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IGE6Zmlyc3QtY2hpbGQge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmltYWdlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSkge1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIGEsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA1cHg7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiA2NiU7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHg7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzNlNDc1Yik7XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmdyb3VwLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMjBhY2U5OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5kZXNjcmlwdGlvbiBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnJlYWQtbW9yZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUge1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnNwZWNpZmljYXRpb24gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2RlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMmI2OWM2O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZSAuY3VycmVuY3ksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIGZvcm0sIFtkYXRhLWJ4U2xpZGVyXSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5hZGRUb0Jhc2tldC5pY29uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZmF2b3VyaXRlc0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuYngtc2VwZXJhdG9yIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5ieC12aWV3cG9ydCB7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmJ4LXZpZXdwb3J0ID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2lkJD1cIi1jYXJvdXNlbC1jb250YWluZXJcIl0ge1xuICBmbGV4OiAxOyB9XG5cbi5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcbiAgaGVpZ2h0OiAzMHB4OyB9XG4gIC5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAuY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHM6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1wcmV2IHtcbiAgICByaWdodDogMzZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHM6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1uZXh0IHtcbiAgICBsZWZ0OiAzNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHMubGFyZ2VDb250cm9scyAuYngtcHJldiB7XG4gICAgcmlnaHQ6IDM3LjVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzLmxhcmdlQ29udHJvbHMgLmJ4LW5leHQge1xuICAgIGxlZnQ6IDM3LjVweDsgfSB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgaGVpZ2h0OiA0NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XG4gICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuXG4uY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4uY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gICAgLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cblxuLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcbiAgaGVpZ2h0OiA0NXB4O1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlLFxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2U0NzViO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjNkZWcpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2U0NzViO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00M2RlZyk7IH0gfVxuXG4uY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBvcGFjaXR5IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uYngtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bk1wiO1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uYngtY29udHJvbHMuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlLFxuICAgIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSxcbi5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzNlNDc1YjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSxcbi5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZNcIjsgfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZRcIjsgfVxuXG4uYngtcHJldiwgLmJ4LW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ4LXByZXYge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYngtcHJldiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmJ4LW5leHQge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYngtbmV4dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjFcIl0ge1xuICAtLWNvbHVtbnM6IDE7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjJcIl0ge1xuICAtLWNvbHVtbnM6IDI7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjNcIl0ge1xuICAtLWNvbHVtbnM6IDM7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0ge1xuICAtLWNvbHVtbnM6IDQ7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjVcIl0ge1xuICAtLWNvbHVtbnM6IDU7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjZcIl0ge1xuICAtLWNvbHVtbnM6IDY7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjdcIl0ge1xuICAtLWNvbHVtbnM6IDc7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjhcIl0ge1xuICAtLWNvbHVtbnM6IDg7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjlcIl0ge1xuICAtLWNvbHVtbnM6IDk7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjEwXCJdIHtcbiAgLS1jb2x1bW5zOiAxMDsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTFcIl0ge1xuICAtLWNvbHVtbnM6IDExOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMlwiXSB7XG4gIC0tY29sdW1uczogMTI7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLS1zbWFsbC1jb2x1bW5zOiBtYXgocm91bmQoZG93biwgY2FsYyh2YXIoLS1jb2x1bW5zKSAvIDIpLCAxKSwgMSk7XG4gIC0tbWVkaXVtLWNvbHVtbnM6IGNhbGModmFyKC0tc21hbGwtY29sdW1ucykgKyAxKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tc21hbGwtY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxMHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1tZWRpdW0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTVweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pID4gKiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMTQ5LCAxNDksIDE0OSwgMC4yKTtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzk1OTU5NTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDBzO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjdzIGN1YmljLWJlemllcigwLjU2LCAwLjExLCAwLjIyLCAwLjg2NSkgMHMgaW5maW5pdGU7XG4gICAgei1pbmRleDogMTsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH0gfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkgLmNvbGxlY3Rpb24taXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYngtdmlld3BvcnQge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG5cbi5jYXJvdXNlbCAuYngtdmlld3BvcnQgLmNvbGxlY3Rpb24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYngtcGFnZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMi41cHg7XG4gICAgaGVpZ2h0OiAyMi41cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4OyB9IH1cbiAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjljNjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMmI2OWM2O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4vKlxyXG4tLS0tLSBTbGlkZXJzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVGhpcyBpcyAqTk9UKiBjYXJvdXNlbCBmdW5jdGlvbmFsaXR5IHBsZWFzZSByZWZlciB0byBieHNsaWRlci5zY3NzIGZvciB0aGF0LlxyXG4tIFRoaXMgaXMgZm9ybSBmb3JtIGNvbnRyb2xzIHdoZXJlIHlvdSByZXF1aXJlIGFuIGlucHV0IHR5cGUgPSBzbGlkZXIuXHJcbi0gVGhlIHN0bHllcyBoZXJlIHdpbGwgYWxzbyBoYXZlIGEgaGVhdnkgaW5mbHVlbmNlIG9uIHRoZSBwcmljZSBzbGlkZXIgZm9yIGZpbHRlcnMuXHJcbiovXG4uc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAuc2xpZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5zbGlkZXI6aG92ZXIgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjUzMztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuc2xpZGVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWRlcjphY3RpdmUgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gIC5zbGlkZXIuc2xpZGVyLWludmFsaWQgLnVpLXNsaWRlci1oYW5kbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC51aS1zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4udWktc3RhdGUtYWN0aXZlIHtcbiAgb3V0bGluZTogMDsgfVxuXG4udWktc2xpZGVyLXJhbmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTsgfVxuICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWluOmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDsgfVxuICAudWktc2xpZGVyLXJhbmdlLnVpLXNsaWRlci1yYW5nZS1tYXg6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDsgfVxuICAudWktc2xpZGVyLXJhbmdlLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zbGlkZXItZXJyb3JzIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDI1cHggM3B4IDVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGNvbG9yOiAjYjIwYzBjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAuc2xpZGVyLWVycm9ycy5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG5cbltkYXRhLXRvb2x0aXBdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG5zcGFuLnRvb2x0aXAtdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBoZWxwO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhKlcIjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6aG92ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjphY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50b29sdGlwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciBwLCAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZjVlMDU7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICNmZjVlMDU7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgapcIjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SRXCI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA4cHgpOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogOHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiA4cHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IHVuc2V0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDhweCk7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi50b29sdGlwLWNvbnRlbnQge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogMzAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzIwYWNlOTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBsaSwgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBhLCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBsaSBwIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLypcclxuLS0tLS0gUmVhZCBtb3JlIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUmV2ZWFsaW5nIGFkZGl0aW9uYWwgbWFya3VwLCB0aGlzIGNhbiBpbmNsdWRlIHRleHQgb3IgaW1hZ2VzLlxyXG4tIEhvdyB0aGUgZmFkZSAvIGdyYWRpYW50IGdldHMgdXNlZCB3aGVuIGN1dHRpbmcgb2YgdGhlIG92ZXJmbG93aW5nIGNvbnRlbnQuXHJcbiovXG4ucmVhZC1tb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZWFkLW1vcmUuY29udGFpbmVyLWNhbGN1bGF0aW9uLXdhaXRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlYWQtbW9yZS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC42czsgfVxuICAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZE1vcmVCdXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVhZC1tb3JlLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVhZC1tb3JlLm1vYmlsZS1vbmx5IC5yZWFkTW9yZUJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cbiAgLnJlYWQtbW9yZSAucmVhZE1vcmVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAyNHB4O1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnJlYWQtbW9yZSAucmVhZE1vcmVCdXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgMHB4LCAjMDAwMDAwIDUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgICBtYXNrLWltYWdlOiB1bnNldDsgfSB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgbWFzay1pbWFnZTogdW5zZXQ7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQgPiBwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCArIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlYWQtbW9yZTpub3QoW3JtLWlkXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMTEwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyA+IHVsIHtcbiAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA2JTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMzZTQ3NWI7XG4gICAgICB6LWluZGV4OiA1MDAwMDsgfSB9XG5cbi5hYy1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWMtcmVzdWx0cyB7XG4gICAgICB6LWluZGV4OiAyMDAwMDE7IH0gfVxuICAuYWMtcmVzdWx0cy5zY3JvbGxlciA+IHVsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWMtcmVzdWx0cyA+IHVsLCAuYWMtcmVzdWx0cyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLmFjLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbCBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbCBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFjLXRpdGxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwIDE1cHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLmFjLWl0ZW0tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5hYy1pdGVtLWxpc3QuY29sdW1uIC5hYy1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWMtaXRlbS1saXN0LmNvbHVtbiAuYWMtaXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7IH0gfVxuICAuYWMtaXRlbS1saXN0Om5vdCguY29sdW1uKSAuYWMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjLWl0ZW0tbGlzdC5yb3cgLmFjLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cblxuLmFjLWl0ZW0ge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgLmFjLWl0ZW06aG92ZXIgYSBzcGFuIHtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hYy1pdGVtIC5pbWFnZSwgLmFjLWl0ZW0gLmFjLWl0ZW0tbXVsdGltZWRpYS1jb250ZW50IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLmFjLWl0ZW0gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmFjLWl0ZW0gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgICAuYWMtaXRlbSBhIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWMtaXRlbSAuYWMtaXRlbS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTsgfVxuICAuYWMtaXRlbSAuaXRlbS1yZWZlcmVuY2Uge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLmFjLWl0ZW0gLml0ZW0tc25pcHBldCB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG5cbi5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCB7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoICsgYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNTBweDsgfVxuXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lci5hY3RpdmUgLmFjLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiA5MDBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtY29udGFpbmVyLmFjdGl2ZSAuYWMtcmVzdWx0cyB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLmFjLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNlNDc1YjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmxhc3QtY2hpbGQgLmFjLWl0ZW0tbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnNhIHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDsgfVxuICAuc2Etd2FybmluZyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogc2NhbGVXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAgIC5zYS13YXJuaW5nOmFmdGVyLCAuc2Etd2FybmluZzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5zYS13YXJuaW5nOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnNhLXdhcm5pbmc6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnNhLXdhcm5pbmctYm9keSB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAgIC5zYS13YXJuaW5nLWRvdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG4gIC5zYS1lcnJvciB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUVycm9ySWNvbiAuNXM7IH1cbiAgICAuc2EtZXJyb3I6YWZ0ZXIsIC5zYS1lcnJvcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDYwcHg7IH1cbiAgICAuc2EtZXJyb3I6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggMCAwIDQwcHg7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHRvcDogLTE3cHg7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLnNhLWVycm9yOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA2MHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuICAgIC5zYS1lcnJvci14IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5zYS1lcnJvci1wbGFjZWhvbGRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGxlZnQ6IC00cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2EtZXJyb3ItZml4IHtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBsZWZ0OiAyOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zYS1lcnJvci1sZWZ0LCAuc2EtZXJyb3ItcmlnaHQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgdG9wOiAzN3B4O1xuICAgICAgd2lkdGg6IDQ3cHg7IH1cbiAgICAuc2EtZXJyb3ItbGVmdCB7XG4gICAgICBsZWZ0OiAxN3B4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWExlZnQgLjc1czsgfVxuICAgIC5zYS1lcnJvci1yaWdodCB7XG4gICAgICByaWdodDogMTZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBhbmltYXRpb246IGFuaW1hdGVYUmlnaHQgLjc1czsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUsXG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEwMCUsXG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVFcnJvckljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVhMZWZ0IHtcbiAgMCUsXG4gIDY1JSB7XG4gICAgbGVmdDogODJweDtcbiAgICB0b3A6IDk1cHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgODQlIHtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogMzNweDtcbiAgICB3aWR0aDogNDdweDsgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxN3B4O1xuICAgIHRvcDogMzdweDtcbiAgICB3aWR0aDogNDdweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVhSaWdodCB7XG4gIDAlLFxuICA2NSUge1xuICAgIHJpZ2h0OiA4MnB4O1xuICAgIHRvcDogOTVweDtcbiAgICB3aWR0aDogMDsgfVxuICA4NCUge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIHRvcDogMzNweDtcbiAgICB3aWR0aDogNDdweDsgfVxuICAxMDAlIHtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgd2lkdGg6IDQ3cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjYWxlV2FybmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgMzAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nSW5zIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfSB9XG5cbi5jaGVja19tYXJrIHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDsgfVxuXG4uc2EtaWNvbiB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICMxMjgxMWY7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSxcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEyMHB4IDAgMCAxMjBweDtcbiAgdG9wOiAtN3B4O1xuICBsZWZ0OiAtMzNweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xuICB0b3A6IC0xMXB4O1xuICBsZWZ0OiAzMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggNjBweDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTRweDtcbiAgdG9wOiAtNHB4O1xuICB6LWluZGV4OiAyOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWZpeCB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyOHB4O1xuICB0b3A6IDhweDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzLmFuaW1hdGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XFw5OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIFxcOTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIFxcOTsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NUaXAge1xuICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzVGlwIDAuNzVzOyB9XG5cbi5hbmltYXRlU3VjY2Vzc0xvbmcge1xuICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzTG9uZyAwLjc1czsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA1NCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNzAlIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHRvcDogMzdweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGxlZnQ6IDIxcHg7XG4gICAgdG9wOiA0OHB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiA0NXB4OyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDY1JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDM1cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDQ3cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDM4cHg7IH0gfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lIHtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XG4gIHdpZHRoOiAyNXB4O1xuICBsZWZ0OiAxNHB4O1xuICB0b3A6IDQ2cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcbiAgd2lkdGg6IDQ3cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHRvcDogMzhweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfSB9XG5cbi8qXHJcbi0tLS0tIE5vdGlmaWNhdGlvbnMgKCBDYWxsb3V0cyApIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gT24gcGFnZSBub3RpY2F0aW9ucyAoIG5vIGl0ZW1zIGZvdW5kICkgXHJcbi0gSGVhZGVyIG5vdGlmaWNhdGlvbnMuXHJcbi0gQ29va2llIG5vdGlmaWNhdGlvbi5cclxuLSBDYWxsb3V0cyAoIHRoaW5ncyB0aGF0IHNsaWRlIG91dCBmcm9tIHRoZSBlZGdlZCBvZiBhIHdpbmRvdyApIFxyXG4tIE5vIEphdmFzY3JpcHQgbm90aWZpY2F0aW9uXHJcbi0gQnJvd3NlciBjb21wYXRpYmxpdHkgbm90aWZpY2F0aW9uIFxyXG5cclxuKi9cbi5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGg1IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBoNTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbikge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogMDsgfSB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYWxlcnQgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAud2FybmluZyBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5zdWNjZXNzIGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY2FsbG91dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhbGxvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OyB9XG4gIC5jYWxsb3V0LWNvbnRhaW5lci5zaWRlIC5jYWxsb3V0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCBoNSB7XG4gICAgICBtYXJnaW46IDAgMjVweCAwIDA7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgaDUgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5vbi1wYWdlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ub24tcGFnZS1ub3RpZmljYXRpb24ge1xuICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwIDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcbiAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0zIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBwLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBwLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIHRhYmxlLCAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cblxuLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgxLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg0LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHAsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjdweDsgfSB9XG5cbi5pbnRlcm5hbC1lcnJvci1jb250YWluZXIge1xuICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwIDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcbiAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTEge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0zIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0zIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgxLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg0LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIHAsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg1LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGgxLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGgyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGg0LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGg1LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IHAsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmRpc2FibGVkIHAge1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb24gcCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cblxuI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cbiAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gcCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDEsIDEsIDAuOSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG5cbi5ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogMjAwMDsgfVxuXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5O1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBwYWRkaW5nOiA3LjVweCAxNXB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDUwbXM7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzczsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfSB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24taWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiBhdXRvIDEycHggYXV0byAwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gMTBweCBhdXRvIDA7IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24taWNvbiBpbWcge1xuICAgICAgd2lkdGg6IDQwcHg7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1iYXNpczogMTgwcHg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAxN3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIDJzLCBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMC42cywgbWF4LWhlaWdodCAwLjZzOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgxIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgxOm9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDM6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNCB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0Om9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDUge1xuICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1Om9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDYge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDY6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgKyBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCB1bCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBsaSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDIsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgzLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNCwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg2LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgZGwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUge1xuICAgICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGQge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS10cmlnZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlcjpob3ZlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlcjphY3RpdmUsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlci5hY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5wd2Ege1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4Nzg3ODc7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29va2llIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NCwgMTc0LCAxNzQsIDAuOSk7IH1cblxuLypcclxuXHJcbi0tLS0gSW1hZ2UgT3ZlcmxheXMgLS0tLSBcclxuXHJcbkltYWdlIG92ZXJsYXlzIGZvciBlc3NlbnRpYWxseSBoaWdobGlnaHRlZCBpdGVtczpcclxuLSBTcGVjaWFsIE9mZmVyc1xyXG4tIEZlYXR1cmVkIEl0ZW1zXHJcbi0gQmVzdCBTZWxsZXJzXHJcbi0gUHJldmlvdXNseSBQdXJjaGFzZWRcclxuXHJcblRoZXNlIG5vcm1hbGx5IGFyZSB0aGUgc2l6ZSBvZiB0aGUgcHJvZHVjdCBpbWFnZSB3aGV0aGVyIGl0cyBvbiBhIGxpc3Rpbmcgb3IgcHJvZHVjdCBwYWdlIHdpdGggYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG5cclxuV2UgYWxsb3cgZm9yIGRpZmZlcmVudCBpbWFnZXMgdG8gYmUgZGlzcGxheWVkIGlmIGEgZ3JvdXAgaXMgbWFya2VkIGFzIGEgaGlnaGxpZ2h0ZWQgaXRlbSBvciB3aGV0aGVyIGl0cyBhbiBpbmRpdmlkdWFsIHByb2R1Y3QuXHJcblxyXG4qL1xuI3NwZWNpYWwtb2ZmZXJzIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2ZlYXR1cmVkLWl0ZW1zIC5vdmVybGF5LnN0b2NrLmZlYXR1cmVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jYmVzdC1zZWxsZXJzIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250ZW50LWNvbnRhaW5lcjpub3QoLmNvbXBhY3QpIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbiNtYWluSW1hZ2VDb250YWluZXIgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaW1hZ2U6aGFzKGltZ1tzcmMkPVwiLnBuZ1wiXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmltYWdlOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gICAgLmltYWdlIGltZ1tzcmMkPVwiLnN2Z1wiXSwgLmltYWdlIGltZ1tzcmMkPVwiLlNWR1wiXSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuaW1hZ2UgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbWFnZSAub3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuc3BlY2lhbE9mZmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLXNwZWNpYWwtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5mZWF0dXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLXNwZWNpYWwtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWZlYXR1cmVkLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suYmVzdFNlbGxlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5wcmV2aW91c2x5LXB1cmNoYXNlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLXByZXZpb3VzbHktcHVyY2hhc2VkLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5jb250cmFjdC1pdGVtIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9wcm9kdWN0L3Nhc2gtY29udHJhY3QtaXRlbS5wbmdcIik7IH1cblxuW2RhdGEtY291bnRkb3duLXRpbWVdIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lciBwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmNvdW50ZG93bi1jb250YWluZXIgcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgN3B4IDAgMDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgLmNvdW50ZG93bi1kaXNwbGF5LCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCB7XG4gIG1hcmdpbjogMCA1cHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNvdW50ZG93bi1jb250YWluZXIgLmNvdW50ZG93bi1kaXNwbGF5ICsgLmRpc3BsYXktbGFiZWwsIC5jb3VudGRvd24tY29udGFpbmVyIC5kaXNwbGF5LWxhYmVsICsgLmRpc3BsYXktbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz1hbGVydF0gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPXdhcm5pbmddIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuZGlzcGxheS1sYWJlbCB7XG4gIGNvbG9yOiAjMjBhY2U5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyLmNvdW50ZG93bi1pbmFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24tYWN0aXZlIHtcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDVzOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBQV0EgKCBQcm9ncmVzc2l2ZSBXZWIgQXBwbGljYXRpb24gKSAtLS0tLSBcclxuLSBJbnN0YWxsYXRpb24gcHJvbXB0LlxyXG5cclxuKi9cbi8qXHJcbi0tLS0tIFBheW1lbnQgTWV0aG9kcyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEhvdyBwYXltZW50IG1ldGhvZHMgc3VjaCBvZiBvcGF5byBpZnJhbWUgbG9va3MgaW4gdGhlIGNoZWNrb3V0LlxyXG4qL1xuLnBheW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSk6aGFzKC5jb250YWluZXItcmVzaXplZCkge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Qge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWluLWhlaWdodDogNTA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkYWRhZGE7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2QgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSNvcGF5by1pZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDI3cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQuc21hbGwge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50Lm1lZGl1bSB7XG4gICAgICB3aWR0aDogMzkwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQubGFyZ2Uge1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiA2MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmV4dHJhLWxhcmdlIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudCBpZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cblxuZm9ybSArIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyOm9ubHktY2hpbGQgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9jYXJkLXBheW1lbnQuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLnBheXBhbCAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9wYXlwYWwuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmdvb2dsZS1wYXkgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMTE1cHg7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9nb29nbGUtcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5hcHBsZS1wYXkgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9hcHBseS1wYXkuc3ZnXCIpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50Lm9wYXlvIHtcbiAgICAtLWNvbnRhaW5lci1mb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAtLWNvbnRhaW5lci1mb250LXNpemU6IDFyZW07XG4gICAgLS1jb250YWluZXItbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC5jb250cm9sLmNoZWNrYm94LmNoZWNrYm94IC5jaGVja2JveCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCAubGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbnRhaW5lci1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLWNvbnRhaW5lci1mb250LXNpemUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbnRhaW5lci1saW5lLWhlaWdodCk7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIgKyAucGF5bWVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQ0MHB4ICsgMjBweCk7IH0gfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciBpZnJhbWUge1xuICAgIGJvcmRlcjogMDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheXBhbC1idXR0b24ge1xuICAgIG1heC13aWR0aDogMzQwcHg7IH1cblxuLmNhcmQtZnJhbWUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKipcclxuXHJcbi0tLS0gU29jaWFsIE1lZGlhIEljb25zIC0tLS0gXHJcblxyXG5XaGVyZSB0aGVzZSBnZXQgdXNlZDpcclxuLSBPbiB0aGUgcHJvZHVjdCBwYWdlIHRvIHNoYXJlIGEgc2t1IG9uIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nOlxyXG4gICAgLSBGYWNlYm9va1xyXG4gICAgLSBUd2l0dGVyXHJcbiAgICAtIExpbmtlZEluIFxyXG4gICAgLSBFbWFpbFxyXG4tIEluIHRoZSBmb290ZXIgdG8gdGFrZSB0aGUgdXNlciB0byB0aGUgb3JnYW5pc2F0aW9uJ3Mgc29jaWFsIG1lZGlhIHBhZ2VzXHJcbi0gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbiAgICAtIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuICAgIC0gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG5cclxuKiovXG4uc29jaWFsLWljb25zLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG5cbi5zb2NpYWwtaWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5zb2NpYWwtaWNvbnMucHJvZHVjdCwgLnNvY2lhbC1pY29ucy5tb2R1bGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnNvY2lhbC1pY29ucy5yZXZpZXcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7IH1cbiAgLnNvY2lhbC1pY29ucy5mb290ZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweDsgfSB9XG4gICAgLnNvY2lhbC1pY29ucy5mb290ZXIgLnNvY2lhbC1pY29ucy1oZWFkaW5nIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgLnNvY2lhbC1pY29ucy1oZWFkaW5nIGgzIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciBhIHtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAuc29jaWFsLWljb25zLmZvb3RlciBhOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5pY29ucy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnNvY2lhbC1pY29ucyBhIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzICwgb3BhY2l0eSAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIwYWNlOTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnMgLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5mYWNlYm9vazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvjp5cIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS50d2l0dGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6Ym1wiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmxpbmtlZEluOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DoVwiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmluc3RhZ3JhbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvha1cIjtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS55b3V0dWJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Fp1wiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmdvb2dsZS1wbHVzOmJlZm9yZSwgLnNvY2lhbC1pY29ucyBhLmdvb2dsZV9wbHVzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DlVwiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmVtYWlsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4OyB9XG5cbi5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucyB7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuOHM7IH1cbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtbmV4dC10by10b2dnbGUuYWN0aXZlIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42czsgfVxuICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZTQ3NWI7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlLmFjdGl2ZSArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkYWRhZGE7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTU5NTk1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74egXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246aG92ZXIsIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbjphY3RpdmUsIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuXG4vKlxyXG4tLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgKCBQcmludGVyIHdpemFyZCApIC0tLS0tLSBcclxuLSBUaGUgZXF1aXBtZW50IHNlbGVjdG9yIGRyb3AgZG93biBzZWxlY3Rpb24uXHJcbi0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3Qgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBsaXN0IG9mIGFuY2hvcnMuXHJcbiovXG4uZXF1aXBtZW50LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYmFja2dyb3VuZDogIzNlNDc1YjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICM1Yjc5ZDcgNSUsICM0NjU5OTUgNjUlKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDsgfSB9XG5cbi5lcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9ycyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgbGFiZWwuY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGEge1xuICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGEge1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMCAwIDI1cHgtMTBweDsgfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB1bCBsaSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB1bCBsaSB7XG4gICAgICAgICAgZmxleC1iYXNpczogMzMlOyB9IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKlxyXG4tLS0tLSBQaWNrICYgTWl4IC0tLS0tLSBcclxuLSBBIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBpdGVtcyB0byBjcmVhdGUgYSBwYWNrLlxyXG4qL1xuLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBhZGRpbmc6IDAgMCAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjM2U0NzViO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzViNzlkNyA1JSwgIzQ2NTk5NSA2NSUpO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuXG4ucGljay1uLW1peC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5waWNrLW4tbWl4LWhlYWRlciBoMjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGg0IHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5waWNrLW4tbWl4LWhlYWRlciBoNCBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmZmMjAwOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBwIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1oZWFkZXIgLmhlYWRlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cblxuLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiA3LjVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTsgfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5zbGlkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1ncm91cCAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIyLjVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH0gfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciwgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNy41cHggMDsgfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmMjAwO1xuICAgICAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNDBweDsgfSB9XG4gICAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIgLnNlbGVjdGVkLWNvdW50IHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC5yZW1haW5pbmctY29udGFpbmVyIC5yZW1haW5pbmctY291bnQtbWVzc2FnZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC5yZW1haW5pbmctY29udGFpbmVyIC5yZW1haW5pbmctY291bnQtbWVzc2FnZS5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC5yZW1haW5pbmctY29udGFpbmVyIC5yZW1haW5pbmctY291bnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgY29sb3I6ICNmZmYyMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC5mb3JtLWVycm9yIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgbWFyZ2luLXJpZ3RoOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG5pbnB1dC51aS1zdGF0ZS1hY3RpdmUsIC5pbnB1dC1udW1iZXIudWktc3RhdGUtYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmMjAwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgdHJhbnNpdGlvbjogYm94LXNob2RhdyAwLjZzOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGljay1uLW1peC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgKyAucGljay1uLW1peC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucGljay1uLW1peC1idXR0b24ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnBpY2stbi1taXgtc2VsZWN0aW9uIHtcbiAgbWFyZ2luOiA1cHggMDtcbiAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAucGljay1uLW1peC1zZWxlY3Rpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogXHJcblxyXG4tLS0tLSBBbmltYXRpb25zIC0tLS0tIFxyXG5UT0RPOiBUaGlzIGlzIHRoZSB2ZXJ5IGZpcnN0IGRldiBjeWNsZSBvZiBqdXN0IHRyaW5nIHRvIGdldCBIVE1MNSBDYW52YXMncyBleHBvcnRlZCBmcm9tIGFkb2JlIGFuaW1hdGUgdG8gd29yayBpbnNpZGUgb2YgZXhwcmVzcyBhbmQgdG8gaGF2ZSBtdWx0aXBsZSBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGF0IG9uY2UsIHNvIHRoZXJlIGlzIHN0aWxsIG11Y2ggd29yayB0byBiZSBkb25lIGhlcmUgaXRzIG1vcmUgb2YgYSBwcm9vZiBvZiBjb25jZXB0IGF0IHRoaXMgcG9pbnQuXHJcbi0gQW5pbWF0ZWQgSFRNTDUgQ2FudmFzJ3NcclxuLSBJbnRlcmFjdGl2ZSBBbmltYXRpb25zLlxyXG4qL1xuY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2xpZW50LXNlYXJjaC1uby1yZXN1bHRzIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qXHJcbi0tLS0tIFRvcCBiYXIgLS0tLS1cclxuVGhpcyBoYXMgaGFkIHRvIGJlIHdyaXR0ZW4gZHVlIHRvIGZvdW5kYXRpb24ncyB0b3AtYmFyIGN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgY2VudGVyZWQgaXRlbXMsIHlvdSBvbmx5IGdldCB0aGUgb3B0aW9uIHRvcC1iYXItbGVmdCAmIHRvcC1iYXItcmlnaHQsIHRoZSBkZXNpZ24gY2FsbHMgZm9yIHRoZSBjdXJyZW5jeSBzZWxlY3RvciB0byBiZSBpbiB0aGUgbWlkZGxlLlxyXG4qL1xuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnRvcC1iYXIudXBwZXIge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LCAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0ID4gdWwgbGksIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGkge1xuICAgICAgICBwYWRkaW5nOiA3LjVweCAxNXB4OyB9XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaTpmaXJzdC1jaGlsZCwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaTpsYXN0LWNoaWxkLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRvcC1iYXIgLm1lbnUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50b3AtYmFyIC5tZW51ID4gbGksIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgICAudG9wLWJhciAubWVudSA+IGxpIGE6YWN0aXZlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSA+IGxpIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRvcC1iYXIgLm1lbnUgbGksIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpOmhvdmVyLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpOmhvdmVyID4gYSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6YWN0aXZlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAudG9wLWJhciAubWVudSBsaTphY3RpdmUgPiBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTphY3RpdmUgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkgYSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNy41cHggMTVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAudG9wLWJhciAubWVudSBsaSBhOmhvdmVyLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpob3ZlcjpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4jdG9wQmFyVXBwZXJPdXRlckNvdW50YWluZXIsIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG4gIGJvcmRlci1jb2xvcjogIzcyNzk4YTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2ctcGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7IH0gfVxuXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7IH0gfVxuXG4uc2ctaGVhZGluZyB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAuc2ctaGVhZGluZyBoMiB7XG4gICAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLnNnLWludHJvIHtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNnLXN1Yi1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLXN1Yi1oZWFkaW5nIGgzIHtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5zZy1zdWItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zZy1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmM2YzZjM7IH1cblxuLnNnLWRlbW8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2ctZGVtby1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHAsXG4gIC5jc3MtcHJvcGVydHktdmlldyBwIHtcbiAgICBtYXJnaW46IDNweCAwOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgbGksXG4gIC5jc3MtcHJvcGVydHktdmlldyBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaXRlbS1pbmZvLWxhYmVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgLml0ZW0taW5mby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1pdGVtLXNlcGVyYXRvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNlbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuc2ctY29sb3VyLXBhbGV0dGUgLmdyaWQtY29sbGVjdGlvbi14Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5jb2xvdXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAuY29sb3VyLWJsb2NrOmhvdmVyIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbG91ci1ibG9jayAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sb3VyLWJsb2NrIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91ci1oZXgtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I3YjdiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3OThhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjljNjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4Nzg3ODc7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiZmJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdhN2E3YTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyZjYwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNi0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWM5NmFmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNjN2NlYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDEwMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjIwMjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MDQwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjA2MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjgwODA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhMGEwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmZiZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmZGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjU3OWE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI2NWIyOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNzNjODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM5NmQ2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg1YThkZDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZGI5ZTQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZjYmViOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlZGNmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2VlZjg7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjZmYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMzFhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjUzMzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY2NGQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNzY2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjk4MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZhOTk7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmIzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmNjYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZTY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmMjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMjM0ZTM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWI0OGU2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I1NWRlOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTcxZWI7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc4NWVlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxOWFmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWFlZjQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNjMmY3OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZDZmOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmViZmM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjVmZTsgfVxuICAuY29sb3VyLWJsb2NrIC5zdWNjZXNzLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjsgfVxuICAuY29sb3VyLWJsb2NrIC53YXJuaW5nLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfVxuICAuY29sb3VyLWJsb2NrIC5hbGVydC1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbG91ci1ibG9jayAucHJpY2UtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI2OWM2OyB9XG4gIC5jb2xvdXItYmxvY2sgLnNhdmluZy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmNvbG91ci1ibG9jayAucnJwLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4uc2ctYnV0dG9ucyAuc2ctY29tcGFyaXNvbi10YWJsZSAuYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXR5cGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tdHlwZSArIC5ub3RpZmljYXRpb24tc3R5bGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zZy1xdWFudGl0eS1zZWxlY3RvcnMgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbi5zZy1jYWxsb3V0cyAuY2FsbG91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNnLWNvbXBhcmlzb24tdGFibGUgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4jdGFibGUtb2YtY29udGVudHMtc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgei1pbmRleDogMjsgfVxuXG4udGFibGUtb2YtY29udGVudHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuICAudGFibGUtb2YtY29udGVudHMgLmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICM1ZjdiMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAgIC50YWJsZS1vZi1jb250ZW50cyAuaGVhZGluZyBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC42cyBlYXNlLWluOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM2NTsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNnMgZWFzZS1pbjsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUaGlzIHN0eWxlcyB0aGUgZXhhbXBsZSByb3dzIHVzZWQgaW4gdGhlIGdyaWQgZG9jdW1lbnRhdGlvbi4gKi9cbi5ncmlkLXguZGlzcGxheSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbDpudGgtY2hpbGQoMiksXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuc21hbGwtY2VudGVyZWQsXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwubGFyZ2UtY2VudGVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxOyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbC5jb2xvci1lbmQge1xuICBiYWNrZ3JvdW5kOiAjZDRkNGQ0OyB9XG5cbi5zZy1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi5zZy1zaWRlLW1lbnUge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXIucGFkZGVkIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnNnLXNpZGUtbWVudSBhIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47IH1cblxuLnNnLXNpZGUtbWVudSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4uc2ctc2lkZS1tZW51IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMTQ2OGEwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uc2ctc2lkZS1tZW51Lm1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cblxuLypcclxuLS0tLS0gQWRtaW4gLS0tLS1cclxuVGhpcyB3aWxsIHBvdGVudGlhbCBoYW5kIHZtQWRtaW4gdjIuXHJcbiovXG4udm1hZG1pbi1lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAudm1hZG1pbi1lZGl0b3IuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzBweDsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzLmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yIC5jay1jb250ZW50LmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lID4gcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuY2stY29udGVudC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgfVxuICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvciArIGRpdiB7XG4gICAgei1pbmRleDogMTsgfVxuXG4ucHJvcGVydHktZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAxMyc7IH1cblxuLmNvbnRlbnQtZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA0NCc7IH1cblxuLmVkaXRvci1zYXZlLWJ1dHRvbi5pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBjNyc7IH1cblxuLmVkaXRvci1jYW5jZWwtYnV0dG9uLmlubGluZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDBkJzsgfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIHAge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzZTQ3NWI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lci5jb21wb25lbnQtcmVhZHkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnJlc3BvbnNpdmUtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5yZXNwb25zaXZlLXRhYnM6aGFzKC50YWJzLnZlcnRpY2FsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEge1xuICAgICAgbWFyZ2luOiA1cHggMCAwOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwgdGFibGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1yb3c6IDM7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMjBweCA1cHg7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGU6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEgLmZvdW5kLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDE4cHggODBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyknOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUsIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwgdGFibGUsIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHRhYmxlIHRyIHRkLCAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRkLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0ZCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdWwsXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMyMGFjZTk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCB7XG4gIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIC5jb2wtbGFiZWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5uby13cmFwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGFicy1wYW5lbCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIsIC5hY2NvcmRpb24tY29udGVudCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4udGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0ZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLm5vLXdyYXAsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLmRlc2NyaXB0aW9uLWNvbCwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAuZGVzY3JpcHRpb24tY29sLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYSAhaW1wb3J0YW50OyB9XG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMudmVydGljYWwge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgbdcIjsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYWNjb3JkaW9uLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFjY29yZGlvbi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3QgLmFjY29yZGlvbi10aXRsZSAudGl0bGUge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5hY2NvcmRpb24ucmFkaW8taW5kaWNhdG9ycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74aSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFjY29yZGlvbi5yYWRpby1pbmRpY2F0b3JzIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+GklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7IH1cbiAgLmFjY29yZGlvbi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQgLmFjY29yZGlvbi1pdGVtOm9ubHktY2hpbGQgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNjb3JkaW9uLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCAuYWNjb3JkaW9uLWl0ZW06b25seS1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjljNjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjY5YzY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudDphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg3ODc4NzsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODc4Nzg3OyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS5kaXNhYmxlZCAudGl0bGUtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IC40OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgLnRpdGxlLWljb24ge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmFjY29yZGlvbiBhLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgIC5hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuXG4uYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGZsZXg6IDEgMCA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBmbGV4OiAxIDAgMzMlOyB9IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhZtcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGNvbG9yOiAjMmEyZjYwO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYnJvY2h1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6IHJnYmEoNjIsIDcxLCA5MSwgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC51c2VyLWd1aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WbXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSg2MiwgNzEsIDkxLCAwLjYpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnBhcnRzLWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAud29yZDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmRvY3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMyYjU3OWE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucG93ZXJwb2ludDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucHB0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjMWM5NmFmOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmV4Y2VsOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy54bHMnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScueGxzeCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eDXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzNlNDc1YjsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wZGY6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBkZiddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eBXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmNzdjpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuY3N2J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvm51cIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDYyLCA3MSwgOTEsIDAuOSk7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuaW1hZ2UtYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuanBnJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBuZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5naWYnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScud2VibSddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eFXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC52aWRlby1hdHRhY2htZW50OmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5tb3YnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubXA0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4hcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnppcDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuemlwJ106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4ZcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjMjBhY2U5OyB9XG5cbi8qXHJcbi0tLS0tIFN0aWNreSAtLS0tLS0gXHJcblN0aWNreSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgYnVpbGQgb250b3Agb2YgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3N0aWNreS5odG1sLlxyXG5cclxuW0lNUE9SVEFOVF0gLSBUaGlzIENTUyBpcyBub3QgZm9yIHRoZSBiYXNrZXQgc3VtbW1hcnkgb3IgdGhlIGhlYWRlciBwbGVhc2UgdmlldyBoZWFkZXIuc2NzcyBhbmQgYmFza2V0LnNjc3MgZm9yIHRoYXQuXHJcbiovXG4uc3RpY2t5IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnN0aWNreS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuNnM7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuOHM7IH1cbiAgLnN0aWNreS5lbGVtZW50LW5vdC1pbi12aWV3cG9ydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5XSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLXN0aWNreS1jb250YWluZXJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTI4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LXNpZGUtYnV0dG9ucyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgdWwge1xuICAgICAgICBnYXA6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGkgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwOyB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIGJ1dHRvbiwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6b25seS1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgICBoZWlnaHQ6IDEyOHB4OyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5OyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogIzNlNDc1YjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYS5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24uZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLypcclxuLS0tLS0gTGlzdCBTb3J0aW5nIE9wdGlvbnMgIC0tLS0tXHJcbi0gSG9sZHMgdGhlIHN0eWxlcyBmb3IgdGhlIGZvbGxvd2luZzogXHJcbiAgLSBQcm9kdWN0IGxpc3QocylcclxuICAtIEFjY291bnQgYXJlYSBzb3J0aW5nICggaGlzdG9yaWNhbCB0cmFuc2FjdGlvbnMsIGNhbGwgc3lzdGVtLCBvcmRlcnMgKVxyXG4tIFRoZSBmb2xsb3dpbmcgY29tcG9uZW50cyB3aWxsIGJlIGZvdW5kIGhlcmU6IFxyXG4gIC0gTGlzdCBpdGVtIGNvdW50XHJcbiAgLSBTb3J0IGJ5IFxyXG4gIC0gRmlsdGVycyB0b2dnbGUgKCBJZiBvcGVuaW5nIGEgcG9wdXAgKVxyXG4gIC0gVmlldyBzd2l0Y2hlciAoIEdyaWQgb3IgVGFibGUgKVxyXG4gIC0gUGFnaW5hdGlvbiBcclxuICAtIEl0ZW1zIHBlciBwYWdlLlxyXG4qL1xuLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jb250cm9sIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNvbnRyb2wgLmxhYmVsIHtcbiAgd2lkdGg6IDE2MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY29udHJvbCAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jb250cm9sIC5sYWJlbCB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyID4gZGl2LCAubGlzdC1zb3J0LWNvbnRhaW5lciA+IGRpdiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtb3B0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+VrVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDYwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogLTZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiAuYnV0dG9ucy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDEycHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgICAgdG9wOiAtNnB4O1xuICAgICAgbGVmdDogMTBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICAgIG1pbi13aWR0aDogMzQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHtcbiAgICAgIG1heC13aWR0aDogNDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3Qge1xuICAgICAgICAgIHdpZHRoOiAyMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMTVweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgMTBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCB7XG4gICAgICAgICAgZ2FwOiAwIDVweDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGkge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6aG92ZXIgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgIpcIjsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CLXCI7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciArIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyICsgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6bnRoLWNoaWxkKDIpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMC4yNnB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGdhcDogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE3JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGdhcDogMCA1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEge1xuICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIHBhZGRpbmc6IDEwLjI2cHggOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAucGFnaW5hdGlvbi1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAuQVhJU1BhZ2VOdW1iZXJpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgb3JkZXI6IDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDIzJTsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuQVhJU1BhZ2VOdW1iZXJpbmcgYSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEge1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMC4yNnB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGE6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhOmFjdGl2ZSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZCwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZCwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5zZWxlY3RlZDpob3ZlciwgLkFYSVNQYWdlTnVtYmVyaW5nIGEuYWN0aXZlOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5zZWxlY3RlZDpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5BWElTUGFnZU51bWJlcmluZyAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5BWElTUGFnZU51bWJlcmluZyAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLnBhZ2luYXRpb25MYWJlbCwgLnBhZ2luYXRpb24tbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi8qKlxyXG5cclxuLS0tLSBNYW5hZ2UgQ2FsbHMgLS0tLSBcclxuXHJcbi0gRm9ybWFsbHkga25vdyBhcyB0aGUgY2FsbCBwb3J0YWwgYmVmb3JlIGl0IGdvdCBlbWJlZGRlZCBpbiBleHByZXNzLCBtYW5hZ2UgY2FsbHMgaXMgYWNjb3VudCBmdW5jdGlvbmFsaXR5IHRoYXQgZGlzcGxheXMgY2FsbHMgaW4gYSBsaXN0IGluIGV4cHJlc3MuXHJcbi0gU3R5bGVzIGluY2x1ZGVkIGhlcmU6IFxyXG4gIC0gTGlzdCBmb3IgY2FsbCBsaXN0ICsgZXZlbnRzIGxpc3QuXHJcbiAgLSBFbnF1aXJ5IHN1bW1hcnkuXHJcbiAgLSBDYWxsIHJhdGluZyBmb250cy5cclxuICAtIFN0aWNreSBidXR0b25zIGljb25zLlxyXG4qKi9cbi5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC5sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgLnZhbHVlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiAuZW5xdWlyeS1oZWFkZXItaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB1bCB7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIucGFnZS12aWV3IHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lci5saXN0LXZpZXcge1xuICB3aWR0aDogMjIuNXB4O1xuICBoZWlnaHQ6IDIyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lci5saXN0LXZpZXcge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAucmF0aW5nLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLnJhdGluZy1pbmZvcm1hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIGlucHV0IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTAgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctY2Fubm90LXJhdGUuc3ZnXCIpO1xuICAgIG9wYWNpdHk6IC4xOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTAudW5yYXRlZCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy11bnJhdGVkLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0xIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXZlcnktYmFkLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0yIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWJhZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMyAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1hdmVyYWdlLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi00IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWdvb2Quc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTUgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdmVyeS1nb29kLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAuaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5yYWRpbyB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IC4yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW86aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5yYWRpbzphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjc7IH1cblxuLmNhbGwtdXJnZW5jeS1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtdXJnZW5jeS1pY29uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmxvdyB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1sb3cuc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24ubWVkaXVtIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LW1lZGl1bS5zdmcpOyB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5oaWdoIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWhpZ2guc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24uY3JpdGljYWwge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktY3JpdGljYWwuc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVyZ2VuY3ktaW1hZ2UtdXJsKTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbjpiZWZvcmUge1xuICBmb250LXNpemU6IDI2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLWJhY2stdG8tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6guVwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtcmVxdWVzdC1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC7XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1hZGQtaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLxcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLWNyZWF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gulwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbnRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZS5lbnF1aXJ5LXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUuZW5xdWlyeS10YWJsZSB7XG4gICAgICBtYXJnaW46IDIwcHggMDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMnB4OyB9IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIC5ub3RpZmljYXRpb24tY29udGVudCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQudW5yZWFkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVucmVhZC1jb2wge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIHtcbiAgICB3aWR0aDogOTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSB7XG4gICAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY3VzdG9tZXItbmFtZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCB7XG4gICAgICB3aWR0aDogMTIlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5zdWJqZWN0LWNvbCB7XG4gICAgd2lkdGg6IDU1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5zdWJqZWN0LWNvbCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgICAgICB3aWR0aDogMjMuNyU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnNlcnZpY2UtY29udHJhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wge1xuICAgICAgd2lkdGg6IDExLjUlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudXNlci1jb250YWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnVzZXItY29udGFjdC1jb2wge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNyZWF0ZWQtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY3JlYXRlZC1jb2wge1xuICAgICAgd2lkdGg6IDcuNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5sYXN0LXVwZGF0ZWQsIHRhYmxlLmNhbGwtdGFibGUgdGgubGFzdC11cGRhdGVkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQubGFzdC11cGRhdGVkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgubGFzdC11cGRhdGVkIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucmF0aW5nLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5yYXRpbmctY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnJhdGluZy1jb2wge1xuICAgICAgd2lkdGg6IDYlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudXJnZW5jeS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC51cmdlbmN5LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnVyZ2VuY3ktY29sIHtcbiAgICAgIHdpZHRoOiA3JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC50eXBlLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgudHlwZS1jb2wge1xuICAgICAgICB3aWR0aDogNyU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnNvdXJjZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc291cmNlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5zb3VyY2UtY29sIHtcbiAgICAgIHdpZHRoOiA3JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCBwLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wgcCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wge1xuICAgICAgd2lkdGg6IDE2JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5ub3Rlcy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgubm90ZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQubm90ZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgubm90ZXMtY29sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC50aW1lc3RhbXAtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgudGltZXN0YW1wLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2hhbmdlcy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmVsbGlwc2lzLXRleHQ6aG92ZXIge1xuICAgIGxlZnQ6IC01cHg7IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1ub3Rlcy1jb250YWluZXIsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1ub3Rlcy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAgIHRhYmxlLmNhbGwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpOmhvdmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmVucXVpcnktZmlsdGVycyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5jaGVja2JveCwgLmVucXVpcnktZmlsdGVycyBsYWJlbCBzcGFuLnJhZGlvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmVucXVpcnktZmlsdGVycyAubGFiZWwge1xuICB3aWR0aDogODAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNhbGwtdHlwZS1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDVweCAwO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXR5cGUtaWNvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jYWxsLXR5cGUtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMmI2OWM2OyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXR5cGUtaWNvbi5kZW1vOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jYWxsLXByaXZhY3k6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gsVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jYWxsLXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jbGFzc2lmaWNhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCgXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbXBsZXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCVXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbnRhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gl1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCaXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbnRyYWN0LXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jcmVhdGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gqFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5lc2NhbGF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK9cIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW1wYWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKpcIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW5ib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJ9cIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKtcIjsgfVxuICAuY2FsbC10eXBlLWljb24ub3V0Ym91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCuXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnByaW9yaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLBcIjsgfVxuICAuY2FsbC10eXBlLWljb24ucmVzcG9uc2libGl0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCyXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnNob3J0Y3V0LXNlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gs1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zbGEtaW5jbHVzaW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLRcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc3RhdHVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJtcIjsgfVxuICAuY2FsbC10eXBlLWljb24udW5kZWZlcnJlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC3XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVyZ2VuY3k6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6guFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi53b3JrZmxvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCdXCI7IH1cblxuLmNhbGwtc291cmNlLWljb24ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2FsbC1zb3VyY2UtaWNvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jYWxsLXNvdXJjZS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMmI2OWM2OyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmRlbW8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4OyB9XG4gICAgLmNhbGwtc291cmNlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLnVzZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ah1wiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLnBvcnRhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KsXCI7IH1cbiAgLmNhbGwtc291cmNlLWljb24uZW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi50YWJsZS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLypcclxuLS0tLS0gQmFjayB0byB0b3AgLS0tLS0tIFxyXG5UaGlzIGlzIHRoZSBidXR0b24gdGhhdCBhcHBlYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4qL1xuLmJhY2stdG9wLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGJvdHRvbTogNzBweDtcbiAgei1pbmRleDogMTUwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhY2stdG9wLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgYm90dG9tOiA5MHB4OyB9IH1cblxuLmJhY2stdG9wLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJhY2stdG9wLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuYmFjay10b3AtYnV0dG9uOmhvdmVyLCAuYmFjay10b3AtYnV0dG9uOmhvdmVyLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuYmFjay10b3AtYnV0dG9uOmhvdmVyOmJlZm9yZSwgLmJhY2stdG9wLWJ1dHRvbjpob3Zlci5hY3RpdmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzZTQ3NWI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBib3JkZXItY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFjay10b3AtYnV0dG9uOmFjdGl2ZTpiZWZvcmUsIC5iYWNrLXRvcC1idXR0b246YWN0aXZlOmFjdGl2ZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMyMGFjZTk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYWNrLXRvcC1idXR0b24uYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAuNzsgfVxuXG4vKlxyXG4tLS0tLSBTZWN0aW9ucyAtLS0tLSBcclxuQXhpcyB0b2dnbGVyIGlzIGJ1aWxkIG9uIHRvcCBvZiBGb3VuZGF0aW9uJ3MgVG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sIGFuZCBpcyBzaW1pbGFyIHRvIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9hY2NvcmRpb24uaHRtbCBidXQgc29tZXRpbWVzIGl0IGlzIG5vdCBwb3NzaWJsZSBjb252ZW5pZW50IHRvIGJ1aWxkIHRoZSBzZWN0aW9uKHMpIGluIDx1bD4gb3IgaW4gZGVza3RvcCB5b3UgcmVxdWlyZSB0aGUgbGF5b3V0IHRvIGJlIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRvIG1vYmlsZS5cclxuKi9cbi5heGlzLXNlY3Rpb24ge1xuICBtYXJnaW46IDA7IH1cbiAgLmF4aXMtc2VjdGlvbi5hY3RpdmUgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgLmF4aXMtc2VjdGlvbi5hY3RpdmUgLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmF4aXMtc2VjdGlvbi5hY3RpdmUgLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYXhpcy1zZWN0aW9uLnJldmVhbC1lbmFibGVkOm5vdCguYWN0aXZlKSB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDsgfVxuICAgIC5heGlzLXNlY3Rpb24ucmV2ZWFsLWVuYWJsZWQ6bm90KC5hY3RpdmUpIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1ib3R0b20gMC42cywgcGFkZGluZy1ib3R0b20gMC42czsgfVxuICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyk7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG5cbi5heGlzLXNlY3Rpb24taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+BuFwiO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4uYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5heGlzLXNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmF4aXMtc2VjdGlvbi1jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxyXG5cclxuLS0tLS0gRWxsaXBzaXMgLS0tLS0gXHJcbldoZW4gdGhlIGNvbnRlbnQgaXMgdG9vIGxvbmdlciB0byBmaXggd2l0aGluIGEgdGFibGUgY2VsbCAoIGZvciBleGFtcGxlICkgYWxsb3cgdGhlIHVzZXIgdG8gc2hvdyBvdmVyZmxvd2luZyB0ZXh0IGJ5IGhvdmVyaW5nLlxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBzaW5nbGUgbGluZXMgb2YgdGV4dCwgbXVsdGktbGluZSB5b3Ugd2lsbCBuZWVkIHRvIGxvb2sgaW50byAtLXdlYmtpdC1saW5lLWNsYW1wLlxyXG4qL1xuLmVsbGlwc2lzLXRleHQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5lbGxpcHNpcy10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZWxsaXBzaXMtdGV4dCB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmUge1xuICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgYmxhY2sgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbGxpcHNpcy10ZXh0LmVsbGlwc2lzLWFjdGl2ZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmU6aG92ZXIge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG1hc2staW1hZ2U6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qXHJcbi0tLS0tIEJsdXIgLS0tLS0tIFxyXG5UaGUgZWZmZWN0IHRoYXQgZ2V0cyBhcHBsaWVkIHRoZSBoZWFkZXIsIG1haW4gJiBmb290ZXIgd2hlbiBhIG1vZGFsIG9yIG1lbnUgaXMgb3BlbiwgZXNzZW50aWFsbHkgYmx1cidzIG91dCB0aGUgY29udGVudCBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHNvbWV0aGluZyBpcyBvdmVybGF5aW5nIHRoZSBwYWdlJ3MgbWFpbiBjb250ZW50LlxyXG4qL1xuLmJsdXIge1xuICAtLWRlZnVzZS1hbmltYXRpb246IGRlZnVzZUJsdXIgLjNzIGZvcndhcmRzO1xuICBmaWx0ZXI6IGJsdXIoMTBweCk7XG4gIGFuaW1hdGlvbjogYmx1ciAwLjZzOyB9XG4gIC5ibHVyLmRlZnVzZSB7XG4gICAgZmlsdGVyOiBibHVyKDApO1xuICAgIGFuaW1hdGlvbjogZGVmdXNlQmx1ciAwLjNzOyB9XG5cbkBrZXlmcmFtZXMgZGVmdXNlQmx1ciB7XG4gIDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMTBweCk7IH1cbiAgMjAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoOHB4KTsgfVxuICA0MCUge1xuICAgIGZpbHRlcjogYmx1cig2cHgpOyB9XG4gIDYwJSB7XG4gICAgZmlsdGVyOiBibHVyKDRweCk7IH1cbiAgODAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMnB4KTsgfVxuICAxMDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMHB4KTsgfSB9XG5cbiNwYWdlT3ZlcmxheSwgLmJsdXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDAuMTsgfVxuXG4vKlxyXG5cclxuLS0tLSBTdGF0aWMgLS0tLSBcclxuRGVkaWNhdGVkIHNwZWNpZmljYWxseSB0b3dhcmRzIHRoZSBsYW5kaW5nIHBhZ2UgZm9yIHRoZSBzdGF0aWMgbGFuZGluZyBwYWdlIGZvciBleHByZXNzLlxyXG5cclxuKi9cbi5tb2R1bGVzLXRlc3QtcGFnZS1oZWFkZXIge1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDg0ODQ4OyB9XG5cbi5yb3ctYmFja2dyb3VuZC5ncmlkLWNvbnRhaW5lciAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gIHRvcDogMzZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gICAgdG9wOiAwOyB9IH1cblxuLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5yb3ctY29udHJvbHMge1xuICAgIHRvcDogMDsgfVxuICAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gICAgdG9wOiA1MHB4OyB9XG5cbi5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIG9wYWNpdHk6IDAuNTtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uczpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZTQ3NWI7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b24ubW9kdWxlLWluZm86YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYxMjknOyB9XG5cbi5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMzIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA1MDBweDsgfSB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5tb2R1bGVzLWluZm8taGVhZGluZy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmdlbmVyYWwtaW5mb3JtYXRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzZTQ3NWI7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwgdWwgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24gLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgd2lkdGg6IDI5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjNzI3OThhOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogN3B4IDAgMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDAgMjVweDsgfSB9XG5cbi5zdG9ja2lzdC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NraXN0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLmhlYWRlci1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjM0Mzc1cmVtOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC50ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAudGVsZXBob25lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4ud2Vic2l0ZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCA0MHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgNXB4IDMwcHgpO1xuICBjb2xvcjogIzNlNDc1YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWVlZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53ZWJzaXRlLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAud2Vic2l0ZS1idXR0b246aG92ZXIsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICBib3JkZXItY29sb3I6ICM3Mjc5OGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLndlYnNpdGUtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLndlYnNpdGUtYnV0dG9uOmFjdGl2ZSwgLndlYnNpdGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICBib3JkZXItY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQsIC53ZWJzaXRlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAud2Vic2l0ZS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMCA1cHg7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzg3ODc4NztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMyMGFjZTk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzNlNDc1YjsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDYwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAge1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4ub3JnYW5pc2F0aW9uLWNvbnRhaW5lciB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtbm8tcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbmZvLXdpbmRvdy1hZGRyZXNzLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC5pbmZvLXdpbmRvdy1hZGRyZXNzLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYWRkcmVzcyBhLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcblxyXG4qL1xuLnRyZWUtbWVudSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udHJlZS1tZW51IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAudHJlZS1tZW51IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSB1bCBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnRyZWUtbWVudSB1bCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudHJlZS1tZW51IHVsIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50cmVlLW1lbnUgdWwgbGFiZWwgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwuYWN0aXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbhcIjsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsLmFjdGl2ZSB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBoZWlnaHQgMC42czsgfVxuXG4udHJlZS1tZW51ID4gdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNi42NnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDcwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTphZnRlciB7XG4gICAgICB0b3A6IDIyLjVweDtcbiAgICAgIGxlZnQ6IDE2LjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMzIuNXB4O1xuICAgICAgICAgIGxlZnQ6IDgxLjVweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbGVmdDogMTEuNXB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMTdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMThweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0NXB4OyB9IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDExLjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgIHRvcDogMjIuNXB4O1xuICAgICAgICBsZWZ0OiAzNi41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDMyLjVweDtcbiAgICAgICAgICAgIGxlZnQ6IDU2LjVweDsgfSB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0zMy41cHg7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIC50cmVlLW1lbnUtcGFyZW50LmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtbWVudS1wYXJlbnQgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDI1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgdWwgdWwgbGkgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMi41cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTUuNXB4O1xuICAgIGxlZnQ6IDEyLjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50cmVlLW1lbnUuYXNzZXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAudHJlZS1tZW51LmFzc2V0cyA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG4gICAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNjljNjsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlID4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUsIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAubGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLmFsZXJ0LXZhbHVlIC52YWx1ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIycHg7IH0gfVxuXG4udHJlZS1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24uYWxlcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG5cbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLvgbdcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjM2U0NzViO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiA4cHg7IH1cbiAgLnRyZWUtbWVudS1leHBhbmQtdG9nZ2xlLmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvgbhcIjsgfVxuXG4vKlxyXG4tLS0tLSBSZXZpZXdzIC0tLS0tIFxyXG4tIEhhbmRsZXMgaW50ZXJmYWNpbmcgd2l0aCB0aGlyZC1wYXJ0eSByZXZpZXcgYXBpJ3MgbGlrZSBmZWVmby5cclxuKi9cbi5yYXRpbmctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucmF0aW5nLWNvbnRhaW5lciAucmV2aWV3LXN0YXJzIHtcbiAgICBtYXJnaW46IDAgMTBweCAwOyB9XG4gICAgLnJhdGluZy1jb250YWluZXIgLnJldmlldy1zdGFycyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5yYXRpbmctY29udGFpbmVyIC5zdGFyLWZ1bGwsIC5yYXRpbmctY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb25dIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnJhdGluZy1jb250YWluZXIgLnN0YXItZnVsbDpiZWZvcmUsIC5yYXRpbmctY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb25dOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AhVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogI2ZmZjIwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgdWwgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlldy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5kaXNwbGF5LW5hbWUtY29udGFpbmVyICsgLmxhc3QtdXBkYXRlZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnLSc7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5kaXNwbGF5LWxvY2F0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5saXN0LWNvdW50LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5saXN0LWNvdW50LWNvbnRhaW5lciAuY3VycmVudC1zaG93aW5nLWNvdW50IHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXBhZ2VyLWNvbnRhaW5lciArIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5zZXJ2aWNlLXByb3ZpZGVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5mZWVmby1sb2dvIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9mZWVmby1sb2dvLnBuZ1wiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIgLnJldmlld3MtcHJvZHVjdC1yZXZpZXctYWxsLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5yZXZpZXctc29jaWFsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmlldy1zb2NpYWwtY29udGFpbmVyIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciArIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIC5oZWxwZnVsLXZvdGVzLWRpc3BsYXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+FpFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDExcHg7IH1cblxuLypcclxuLS0tLS0gUGFnZSBTZWN0aW9uIENvbG91cnMgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZC1jb2xvdXJzIHRvIHNwZWNpZmljIHNlY3Rpb25zIG9uIHNwZWNpZmljIHBhZ2VzIGFjcm9zcyBleHByZXNzIHVzaW5nIHRoZSBib2R5IGlkLCBzbyBhIHBvdGVudGlhbCBjb25maWcgY291bGQgbG9vayBsaWtlIHRoaXM6XHJcblxyXG5oZWFkZXItdXNwLWJhcjogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEsXHJcbiAgICBwYWdlczogKFwiaG9tZXBhZ2VcIilcclxuKVxyXG5cclxuVGhlIHRvcCBsZXZlbCBtYXAga2V5IGlzIHRoZSBjbGFzcyBvZiB0aGUgZWxlbWVudCB0aGF0IHlvdSB3YW50IHRvIGVmZmVjdCB0aGVuIGluc2lkZSBvZiB0aGF0IGlzIHRoZSBjb25maWd1cmF0aW9uIGkuZSBiYWNrZ3JvdW5kIGNvbG91ciArIHdoaWNoIHBhZ2VzIHRvIGFwcGx5IHRoaXMgdG8gd2hpY2ggaXMgYSBsaXN0IG9mIGJvZHkgaWQncy5cclxuKi9cbi8qXHJcblxyXG4tLS0tIFN0YXIgUmF0aW5ncyAtLS0tIFxyXG5IYW5kbGVzIHN0YXIgcmF0aW5ncyBmb3IgcHJvZHVjdHMsIHRoaXMgc3VwcG9ydHMgcGVyc2VudGFnZSBiYXNlZCByYXRpbmcsIGhlcmUgaXMgYW4gb3ZlcnZpZXcgb2Ygd2hhdCB0aGlzIHdvdWxkIGxvb2sgbGlrZSBodHRwczovL2NvZGVwZW4uaW8vZmlsY3AvcGVuL1F2WlZPZyAuXHJcblxyXG4qL1xuLnN0YXItcmF0aW5ncy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIVcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmJhY2tncm91bmQtc3RhcnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXN0YXJzIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmZvcmVncm91bmQtc3RhcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmZvcmVncm91bmQtc3RhcnMgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjIwMDsgfVxuICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4ucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogODBweDsgfVxuICAgIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmYyMDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG4uYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAxMHB4OyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5iYWNrZ3JvdW5kLWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmJhY2tncm91bmQtYmFyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5mb3JlZ3JvdW5kLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmZvcmVncm91bmQtYmFyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMjAwOyB9XG5cbi5icmVha2Rvd24tY291bnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDMwcHg7IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cblxuLypcclxuLS0tLS0gQmFyY29kZSBTY2FubmVyIC0tLS0tLSBcclxuXHJcbiovXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHgpO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmhvdmVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlcjphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphY3RpdmUsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2U0NzViO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmFjdGl2ZTphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGNXCI7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLmJhcmNvZGUtc2Nhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFyY29kZS1zY2FubmVyIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lciBjYW52YXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci5pcy1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA0OTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDFweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDMzMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAudG9vbHRpcC1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItcmVzcG9uc2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBJbWFnZSAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kIGltYWdlKHMpIHRvIHNwZWNpZmljIHBhZ2UgdHlwZXMgdXNpbmcgdGhlIGJvZHkgaWQsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb246XHJcblxyXG5ob21lcGFnZTogKFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZSA9PiBbIFJFUVVJUkVEIF0gVGhlIHVybCBvZiB0aGUgaW1hZ2UuXHJcbiAgICByZXBlYXQtYmFja2dyb3VuZCA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBuby1yZXBlYXQuXHJcbiAgICBiYWNrZ3JvdW5kLXNjYWxlID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIGNvdmVyLlxyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50cyA9PiBbIE9QVElPTkFMIF1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gPT4gWyBPUFRJT05BTCBdXHJcbilcclxuXHJcbiovXG4vKlxyXG4tLS0tLSBUYWdzIC0tLS0tXHJcblVzZWQgdG8gZGlzcGxheSBhIGNhdGFnb3Jpc2F0aW9uIG9mIGdyb3VwcyAvIGtleXdvcmRzLCB0aGlzIGlhIHByaW1hcmlseSB1c2VkIGluIHRoZSBjbXMgc3lzdGVtIGN1cnJlbnRseSBmb3IgZGlwbHNheSBuZXdzLCBibG9ncyAmIGV2ZW50J3MgYXJ0aWNsZXMuXHJcbiovXG4udGFnZ2luZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lci5hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyLmxpc3RpbmcgLnRhZ2dpbmctaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFncy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdzLWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZ2dpbmctaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4OyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnZ2luZy1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMyMGFjZTk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbS5yZW1vdmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4vKlxyXG4tLS0tLSBBeGlzIFRvZ2dsZXIgLS0tLS1cclxuQnVpbGQgb250b3Agb2YgRm91bmRhdGlvbnMgdG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sLCB3ZSBuZWVkZWQgdG8gYWRkIGluIHNvbWUgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGZvciByZS10b2dnbGluZyBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY29udGVudCBhcmVhLlxyXG4qL1xuLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3RpdmUgLnRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAtMTsgfVxuXG4vKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgQ29sb3VycyAtLS0tLVxyXG5TaW1pbGFyIHRvIGF4aXMtc2VjdGlvbi1jb2xvdXJzIGEgY3VzdG9tIGNvbmZpZyBpcyBwcm92aWRlIHdoaWNoIGdldHMgbG9vcGVkIHRocm91Z2ggYXNzaWduaW5nIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IHRvIHRoZSByZWxpZXZlbnQgcGFnZXMuXHJcblxyXG5OT1RJQ0U6IEhhZCB0byBzZXQgdGhlICFpbXBvcnRhbnQgZmxhZyBvbiB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSBkdWUgdG8gZm91bmRhdGlvbiBlbmZvcmluZyB0aGF0IHRoZSBib2R5IGJhY2tncm91bmQgY29sb3VyIG11c3QgYmUgc2V0LlxyXG4qL1xuLypcclxuLS0tLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLS0tXHJcblxyXG5Qcm92aWRlcyBhbiBhcmVhIHRvIHBsYWNlIG9wdGlvbnMgKCBpLmUgYSBmb3JtIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgKSB3aGljaCB0aGVuIGdldHMgZmlsbGVkIGluIHRvIHVwZGF0ZSBtdWx0aXBsZSBwb2ludHMgb24gdGhlIHBhZ2UuXHJcblxyXG4qL1xuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI2OWM2O1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDExMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmlucHV0LW51bWJlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmNvbnRyb2wuc2VhcmNoIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5jb250cm9sLnNlYXJjaCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjM2U0NzViOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIC5sb29rdXAtb3B0aW9uLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbi5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiA0NXB4OyB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmZvcm0tZXJyb3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0OyB9IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1yZXNwb25zZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi8qIVxuICogYW5pbWF0ZS5jc3MgLSBodHRwczovL2FuaW1hdGUuc3R5bGUvXG4gKiBWZXJzaW9uIC0gNC4xLjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgQW5pbWF0ZS5jc3NcbiAqL1xuOnJvb3Qge1xuICAtLWFuaW1hdGUtZHVyYXRpb246IDFzO1xuICAtLWFuaW1hdGUtZGVsYXk6IDFzO1xuICAtLWFuaW1hdGUtcmVwZWF0OiAxOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2luZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0xIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS00cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3RlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7IH1cblxuQG1lZGlhIHByaW50LCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlX19hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmFuaW1hdGVfX2FuaW1hdGVkW2NsYXNzKj0nT3V0J10ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKiBBdHRlbnRpb24gc2Vla2VycyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zaGFrZVgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19zaGFrZVkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOyB9XG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7IH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpOyB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7IH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmFuaW1hdGVfX2hlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOyB9IH1cblxuLmFuaW1hdGVfX3N3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3RhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3dvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOyB9XG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpOyB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsgfVxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsgfVxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOyB9XG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTsgfVxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpOyB9IH1cblxuLmFuaW1hdGVfX2plbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5hbmltYXRlX19oZWFydEJlYXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG4vKiBCYWNrIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwOyB9XG5cbi8qIEJhY2sgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDsgfVxuXG4vKiBCb3VuY2luZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKiBCb3VuY2luZyBleGl0cyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOyB9XG5cbi8qIEZhZGluZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluRG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0OyB9XG5cbi8qIEZhZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0OyB9XG5cbi8qIEZsaXBwZXJzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyogTGlnaHRzcGVlZCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyogUm90YXRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG4vKiBSb3RhdGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuLyogU3BlY2lhbHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLmFuaW1hdGVfX2phY2tJblRoZUJveCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9fcm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0OyB9XG5cbi8qIFpvb21pbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOyB9XG5cbi8qIFpvb21pbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbi8qIFNsaWRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IH1cblxuLyogU2xpZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBBeGlzIEVsZW1lbnQgUHJpbnQgLS0tLS0gXHJcbkFsbG93cyB5b3UgdG8gc2VsZWN0IGFuIGVsZW1lbnQgdG8gYmUgcHJpbnRlZCBpbnNpZGUgb2YgdGhlIERPTS5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCBnZW5lcmFsIGZvcm1hdHRpbmcgb2YgdGV4dCB3aGVuIGluIHByaW50IHZpZXcgYW5kIHdoaWNoIGVsZW1lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGFzIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgdGhlbSB0byBiZSB0aGVyZS5cclxuXHJcbiovXG5AbWVkaWEgcHJpbnQge1xuICAucGUtbm8tcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAucGUtcHJlc2VydmUtYW5jZXN0b3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBbZGF0YS1heGlzLXN0aWNreV0sIFtkYXRhLXN0aWNreS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmVucXVpcnktZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY2FsbC10eXBlLWljb24sIC5jYWxsLXNvdXJjZS1pY29uIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIHRyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgdGQge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS1idXR0b25zLWNvbnRhaW5lciwgLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgb3ZlcmZsb3cteTogdW5zZXQgIWltcG9ydGFudDsgfSB9XG5cbi8qXHJcbi0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0tIFxyXG5TcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgc3R5bGluZyBmb3IgQVhJUyBEb2N1bWVudGF0aW9uLCB0aGVyZSB3aWxsIGJlIHNpbWlsYXJpdGllcyBiZXR3ZWVuIHRoaXMgY29kZSBhbmQgY21zIGNvbnRhaW5lcnMuXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggdGhlIGZvbGxvd2luZyBwYWdlIHR5cGVzOlxyXG4tLSBQcm9kdWN0c1xyXG4tLS0tIEJvb2tzXHJcbi0tLS0tLSBDaGFwdGVyc1xyXG4tLS0tLS0tLSBBcnRpY2xlc1xyXG4tLS0tLS0tLSBGdW5jdGlvbnNcclxuLS0tLS0tLS0tLSBBcnRpY2xlXHJcbiovXG4uZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgZ2FwOiAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDQyMHB4OyB9IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCAuZm9ybS1lcnJvciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDU3NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gbGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuc2l0ZS1zdHlsZSAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDIge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMzZTQ3NWIpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgKyAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBwYWRkaW5nOiA3cHggNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSAudG9vbHRpcC1jb250YWluZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBhIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMjBhY2U5KTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciAuaW5kZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogNTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEge1xuICAgIG1hcmdpbjogMzVweCAwIDQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIHtcbiAgICAgICAgbWFyZ2luOiA0NXB4IDAgNTVweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMzZTQ3NWIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzk1OTU5NTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzk1OTU5NTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzMHB4O1xuICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjM2U0NzViKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSBpbWcsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjQ1cHg7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHVsIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDVweCAyNXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB1bCBsaSB7XG4gICAgZmxleDogbm9uZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50IHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICM3Mjc5OGE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZSB7XG4gICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5wcmludGVyLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ar1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQuZG9jdW1lbnRhdGlvbi1wdWJsaWMtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KsXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5kb2N1bWVudGF0aW9uLXN0YXRpc3RpY3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6Rs1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDMge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLXJ1bGUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2FlYWVhZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTU5NTk1OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItZm9vdGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk1OTU5NTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMjVweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIHtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgMCA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuNnM7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDEge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDQge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZVtjbGFzcyo9XCJpbWFnZS1zdHlsZS1ibG9ja1wiXSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZSBpbWcge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBwLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgbGksIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgYSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHRhYmxlIHRoZWFkIHRoLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgdGFibGUgdGJvZHkgdGQsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMiwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDMsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg0LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDYsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHAsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGxpLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seS5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBhLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSB0YWJsZSB0aGVhZCB0aCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgdGFibGUgdGJvZHkgdGQge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1ub3QtcHVibGlzaGVkIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cblxudWwuZnVuY3Rpb25zLWxpc3Q6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB1bC5tZW51Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH1cblxuLm1lbnUuZnVuY3Rpb25zLWxpc3Qge1xuICAtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7IH0gfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpID4gYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICMyMGFjZTkpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIgPiBhLCAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpob3ZlciA+IGJ1dHRvbjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjMjBhY2U5KTsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDVweCAwO1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSArIGJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b246YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSArIGJ1dHRvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICMyMGFjZTkpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgbGkgYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgLmluZGV4IHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgLmxpbmstZGVzY3JpcHRpb24ge1xuICAgICAgZmxleDogMTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgPiBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgbGkge1xuICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICBtYXJnaW46IDAgN3B4O1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwgbGkgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgdWwge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAgIC5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbiB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyIHNwYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cblxuLnRlY2huaWNhbC1kb2N1bWVudGF0aW9uLWxpc3QtY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWRlbW8tbGluay1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuXG4uaW5zcGVjdC1wcm9tcHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIC5leHByZXNzLWNvbmZpZ3VyYXRpb24gLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uIC5heGlzLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuXG4udGVjaG5pY2FsLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRlY2huaWNhbC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC50ZWNobmljYWwtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5oZWFkZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50ZWNobmljYWwtbGlzdCAuc3RhdGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tc3RhdGUtY29sb3VyKTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZS5hY3RpdmUge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC50ZWNobmljYWwtbGlzdCAuc3RhdGUuZGlzYWJsZWQge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAudGVjaG5pY2FsLWxpc3QgLmtleS12YWx1ZS1wYWlyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4OyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5rZXktdmFsdWUtcGFpciAubmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uZXV0cmFsaXNlZC1pdGVtcyB7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7IH1cbiAgLm5ldXRyYWxpc2VkLWl0ZW1zIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIj0+XCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNik7IH1cbiAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKlxyXG4tLS0tLSBDb250ZXh0IE1lbnUgLS0tLS0tIFxyXG5Fc3NlbnRpYWxseSBhIHRvb2xiYXIgLyB0b29sYm94IG1lbnVcclxuKi9cbi5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB6LWluZGV4OiAxOTk1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lci5hY3RpdmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyLmlzLWNsb3Npbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgei1pbmRleDogMTk5NjsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42czsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYWNlOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjBhY2U5O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgdWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44czsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciwgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6aG92ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XG4gICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA0NXB4OyB9XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIC5tZW51LW9wdGlvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWljb24tY29sb3VyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi75e9XCI7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMCB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMiB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xuICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0zLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS00IHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHVibGlzaGVkIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ck1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtdHJ1ZSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtZmFsc2Uge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1tZW51IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ak1wiO1xuICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmVkaXQtdGV4dCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1wcm9wZXJ0aWVzIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS11cCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuk4JcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS1kb3duIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6SuFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5pbnNlcnQtYmVmb3JlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuaW5zZXJ0LWFmdGVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gpFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHJvbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgLtcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZGVtb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AvFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5kZWxldGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLm1vdmUtYXJ0aWNsZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgrJcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYXVkaXQtdHJhaWwgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eaXCI7IH1cblxuLypcclxuLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tLSBcclxuRWRnZSBlZmZlY3Qgd2hlcmUgdGhlIGlzIHR5cGljYWxseSAzIHRvbmVzIG9mIGEgc3BlY2lmaWMgY29sb3VyIGluIHRoZSBjb3JuZXIgb2YgYSBlbGVtZW50IC8gY29tcG9uZW50LlxyXG5Qb3NzaWJsZSBjbGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnM6XHJcbi0gT3BhY2l0eSBlbnVtZXJhdGlvbiAoIEhpZ2gsIE1lZGl1bSwgTG93IClcclxuLSBQb3NpdGlvbiBUb3AgKyBCb3R0b20gTCAmIFIgY29ybmVyc1xyXG5cclxuRm9yIGEgZGVtb25zdHJhdGlvbiBnbyB0byAvc3RhdGljL2dyYWR1YXRlZC1jb2xvdXItZWRnZS10ZXN0Lmh0bWxcclxuKi9cbi5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uge1xuICAtLWdyYWR1YXRlZC1zdGVwLWhlaWdodDogdmFyKC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQsIDYwcHgpO1xuICB3aWR0aDogNjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTEge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi0zIHtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi00IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjM7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC42OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMzsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGhlaWdodDogdmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLypcclxuLS0tLS0gQXhpcyBSaWNoIFRleHQgRWRpdG9ycyAtLS0tLSBcclxuQmVzcG9rZSBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHdoZW4gaW50ZXJncmF0aW5nIHdpdGggdGhpcmQtcGFydHkgZWRpdG9ycy5cclxuXHJcbkdlbmVyYWwgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB0byAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIgd2hpY2ggaXMgdGhlIGNvbW1vbiBjb250YWluZXIgdGhhdCBnZXRzIHVzZWQgYWNyb3NzIGFsbCBlZGl0b3JzLlxyXG4qL1xuLmNrLWJvZHktd3JhcHBlciB7XG4gIHotaW5kZXg6IDIwMjE7IH1cbiAgLmNrLWJvZHktd3JhcHBlci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stZWRpdG9yIC5jay1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XG4gIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICNkYWRhZGE7XG4gIC0tY2stY29sb3ItYmFzZS1lcnJvcjogI2IyMGMwYztcbiAgLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiAjMDAwMDAwOyB9XG5cbltkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0ge1xuICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICBbZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdOm5vdCgucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIFtkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0gPiB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDEgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMiAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygzICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00IHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDQgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00ICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoNSAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNSAqIDI1cHgpOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLVxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIGlzIHNwZWNpZmljYWxseSBmb3IgZW1iZWRkaW5nIFlvdXR1YmUgdmlkZW9zIC8gQmFubmVyIHNlcmllcy4gL3N0YXRpYy92aWRlby1zZXJpZXMuaHRtbFxyXG5cclxuSGFuZGxlczpcclxuLSBUaHVtYm5haWwgcGxheSBpY29uLlxyXG4tIER1cmF0aW9uIGZvcm1hdHRpbmcuXHJcbi0gVmlkZW8gaW5kaWNhdG9yIHRleHQgKCBjbGljayBoZXJlIHRvIHdhdGNoIHZpZGVvIClcclxuXHJcbiovXG4udmlkZW8tcGxheWVyLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2U6YWZ0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuaW1hZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYtcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciAubGFiZWwsIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuXG4vKlxyXG4gIE11bHRpbWVkaWEgRWxlbWVudFxyXG4gIFxyXG4gIEhhbmRsZXMgc3R5bGluZyBmb3IgdmlkZW8gcGxheWJhY2tcclxuXHJcbiovXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4udmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQHN1cHBvcnRzIG5vdCAoLWFwcGxlLXBheS1idXR0b24tc3R5bGU6IGluaGVyaXQpIHtcbiAgICAudmlkZW8uaXMtcmVhZHktdG8tcGxheTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bi1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAudmlkZW8ucmVwbGF5LXZpZGVvOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi742jXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH0gfVxuXG4uc291cmNlLXVuc3VwcG9ydGVkID4gdmlkZW8ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zb3VyY2UtdW5zdXBwb3J0ZWQgPiBpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLWZhbGxiYWNrXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZhbGxiYWNrLWVsZW1lbnQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuZmFsbGJhY2stZWxlbWVudC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQgaW1nIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUycHggMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NiwgMjQ2LCAyNDYsIDAuOCk7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IC5lcnJvci1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCBzcGFuLCAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCBkaXYge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICosIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKixcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTgxLjI1ZW0meGxhcmdlPTEwMGVtJnh4bGFyZ2U9MTIwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjMzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMDtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDJcIiwgXCJFeG8gMiBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2M4YzhjODsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT1maWxlXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2RhZGFkYTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxNDksIDE0OSwgMTQ5JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlN2U3OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+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+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM5NTk1OTU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMjZweDtcbiAgICB0b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMjBhY2U5O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS4xOHJlbTtcbiAgICBoZWlnaHQ6IDEuMThyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzNlNDc1YjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi40MXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMC42OHJlbTtcbiAgICBoZWlnaHQ6IDAuNjhyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuOTFyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAwLjkzcmVtO1xuICAgIGhlaWdodDogMC45M3JlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuMTZyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDEuNjhyZW07XG4gICAgaGVpZ2h0OiAxLjY4cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi45MXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDApO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDEzLCAxMywgMCk7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfVxuICB0Ym9keSB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZS5zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgsIDgsIDgsIDApOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG50YWJsZS5ob3Zlci5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzNlNDc1YjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzNlNDc1YjsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzQ1NGY2NjsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2FlYWVhZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNhZWFlYWUsIDAgMTRweCAwICNhZWFlYWU7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzk1OTU5NTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM5NTk1OTUsIDAgMTRweCAwICM5NTk1OTU7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICMzZTQ3NWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2U0NzViO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDc1YjtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM2U0NzViIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzZTQ3NWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzNlNDc1YjsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogNDAwMDsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiA0MDAwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH0gfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuLS0tLS0gTWVudXMgLS0tLS1cclxuVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgSSBhbSBzdGlsbCBtaWdyYXRpbmcgZnJvbSBhIG1hc3NpdmUgYmxvYiBvZiBjb2RlIGVtYmVkZGVkIGluIGhlYWRlci5zY3NzLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIERyb3Bkb3duc1xyXG4tIERyaWxsIGRvd25zXHJcbi0gQWNjb3JkaW9uc1xyXG4tIE1lZ2EgbWVudVxyXG4gIC0gTWVnYSBtZW51IHNlZSBtb3JlIGxpbmsuXHJcbiAgLSBFQkcgaW1hZ2UuXHJcbiovXG4ubWVudS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZW51LWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lbnUtaGVhZGVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUtaGVhZGVyIC5tZW51LWhlYWRpbmcge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4ubWVudS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5tZW51LCAuZHJvcGRvd24ubWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLm1lbnUgLm1lbnUtaGVhZGVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAubWVudSAubWVudS1oZWFkZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6YWN0aXZlLCAubWVudSAubWVudS1oZWFkZXI6YWN0aXZlLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLm1lbnUgLm1lbnUtaGVhZGVyIHAsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubWVudSAuY2xvc2UtYnV0dG9uLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gICAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IHVsIHVsIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYTphZnRlciB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmFjdGl2ZSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6YWN0aXZlID4gYTphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkgYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCA1cHg7IH0gfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHVsLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGJ1dHRvbjphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgbdcIjsgfVxuICAuc3VibWVudS10b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBib3JkZXI6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gLnN1Ym1lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICM3Mjc5OGEpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMzZTQ3NWIpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjphZnRlciwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzNlNDc1Yik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzcyNzk4YSk7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMzZTQ3NWIpOyB9XG4gIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSksIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzcyNzk4YSk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzNlNDc1Yik7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjNzI3OThhKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMzZTQ3NWIpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzNlNDc1Yik7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjNzI3OThhKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMzZTQ3NWIpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzNlNDc1Yik7IH1cbiAgLm1lbnUgbGksIC5kcm9wZG93bi5tZW51IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAubWVudSA+IGxpIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgYSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViOyB9XG4gICAgICAubWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDcuNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVweDsgfSB9XG4gICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgfSB9XG4gICAgLm1lbnUgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjM2U0NzViKTsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsOm5vdCguc3VibWVudSksIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bDpub3QoLnN1Ym1lbnUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW0sIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gICAgICAubWVudSA+IGxpID4gdWwgPiBsaSBhLCAubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaSBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAubWVudS5kcm9wZG93biBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duIGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpLCAuZHJvcGRvd24ubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5tZW51Lm9uLXBhZ2UtbWVudSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDsgfSB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAgaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b24gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgJVcIjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBwYWRkaW5nIDAuOHM7IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUgbGkgPiBhLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51IC5hY2NvdW50LXBhZ2UgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSAuYWNjb3VudC1wYWdlID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogdW5zZXQ7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U0NzViO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMjJweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsOmFmdGVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzk1OTU5NTsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kuZGlzYWJsZWQsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kuZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6YWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDcuNXB4KSAhaW1wb3J0YW50OyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpob3ZlciAubGFiZWwge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIGEgLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlIGEgLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjM2U0NzViOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpiZWZvcmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciA+IGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbdcIjtcbiAgICAgICAgY29sb3I6ICM5NTk1OTU7IH0gfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgcGFkZGluZzogMXB4IDVweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpob3ZlcjpiZWZvcmUsIHVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmFjdGl2ZTpiZWZvcmUsIHVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06YWN0aXZlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMjBhY2U5OyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06YmVmb3JlIHtcbiAgY29udGVudDogXCLvoblcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4ubWVudS1zY3JvbGwtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi5zdWJtZW51IHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA0MDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdWJtZW51LmxldmVsMiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2U0NzViO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9IH1cbiAgLnN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3VibWVudSA+IGxpLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjsgfVxuICAgIC5zdWJtZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiBsYXN0LWxpbmU7IH0gfVxuICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWVnYS1tZW51LWNvbnRhaW5lciB7XG4gIC0tbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMVwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIGNhbGMoKDEwMCUgLSAwcHgpIC8gMSkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIxXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMlwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGNhbGMoKDEwMCUgLSAxNXB4KSAvIDIpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMlwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMjsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjNcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBjYWxjKCgxMDAlIC0gMzBweCkgLyAzKSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjNcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDM7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI0XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgY2FsYygoMTAwJSAtIDQ1cHgpIC8gNCkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI0XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA0OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNVwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIGNhbGMoKDEwMCUgLSA2MHB4KSAvIDUpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNVwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNTsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjZcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBjYWxjKCgxMDAlIC0gNzVweCkgLyA2KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjZcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDY7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI3XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgY2FsYygoMTAwJSAtIDkwcHgpIC8gNykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI3XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA3OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiOFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIGNhbGMoKDEwMCUgLSAxMDVweCkgLyA4KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjhcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDg7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpOmhvdmVyID4gLnN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgIGdhcDogMjBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5vdmVyZmxvdy1zY3JvbGwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51ID4gbGkuaGFzLWNsb25lZC1ncm91cHMtcGFyZW50ID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIGdhcDogMjBweCAxNXB4OyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgYTpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgYTpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCBsaS5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubWVudSAuaGFzLWNsb25lZC1ncm91cHMgYSB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5tZWdhbWVudS1jb2x1bW4tY2xvbmVkLXNwYW4ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi1jbG9uZWQtd3JhcCksIDFmcik7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBnYXA6IDAgMTVweDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuY2hpbGRmcmVlLXBhcmVudCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuY29sdW1uLXNwYW5uZWQgPiBhIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNsb25lZC10by1zZXBlcmF0ZS1yb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB1bC5hY2NvdW50LW1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgICAgICB3aWR0aDogNTUwcHg7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lcjpob3ZlciB1bC5hY2NvdW50LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gYSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGk6aG92ZXIgLmltYWdlIHtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgLmltYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyAucGVyc2lzdGVudC1lYmctaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4OyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyAucGVyc2lzdGVudC1lYmctaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfVxuXG4ubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiB7XG4gICAgbGVmdDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgbGkgYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyIGxpIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIuanMtZHJvcGRvd24tYWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgdG9wOiAxMDAlOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1pbi13aWR0aDogYXV0bzsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuc3VibWVudSBsaS5pcy1hY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cyA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2U0NzViOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDEzMDBweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDdweDtcbiAgICAgIHotaW5kZXg6IDUwMDA7XG4gICAgICBib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjM2U0NzViO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmU6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjM2U0NzViOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMjBhY2U5OyB9XG5cbi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjM2U0NzViO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2biszKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyBhLnN1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgYS5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjM2U0NzViO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgZ2FwOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwLCAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5zbmlwcGV0LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDc1YjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfSB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3Byb2R1Y3QtbGlzdCAjZ3JvdXBEYXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4jcHJvZHVjdExpc3RJdGVtIC5ncmlkLXggLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLmxpc3RpbmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpc3RpbmctY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG5cbi5jb250ZW50Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50Q29udGFpbmVyW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDAgMSUgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250ZW50Q29udGFpbmVyIC5hdHRyaWJ1dGVMaXN0IHtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDI0MHB4OyB9IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zIC5zdWItaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXTpudGgtY2hpbGQoZXZlbikgLnJvd0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5zZXBlcmF0b3IpIC5yb3dDb250YWluZXI6aG92ZXIsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5vZGRFdmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMywgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uIGEgaDMge1xuICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0ID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogNTUlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgcCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5jb2RlLWNvbCBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IDIwJTsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucXVhbnRpdHktY29sIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuYmFza2V0LWNvbCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5mYXZvdXJpdGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5lbnF1aXJ5LWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEyJTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuYmFza2V0LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5mYXZvdXJpdGUge1xuICAgICAgICB3aWR0aDogOSU7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibXVsdGltZWRpYS1jb250ZW50IGRlc2NyaXB0aW9uXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgY29kZVwiIFwibXVsdGltZWRpYS1jb250ZW50IHByaWNlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgaW50ZXJhY3RpdmVcIjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMCUgMWZyOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubXVsdGltZWRpYS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtdWx0aW1lZGlhLWNvbnRlbnQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29kZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IHByaWNlOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmludGVyYWN0aXZlLWNvbnRlbnQsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5lbnF1aXJ5LWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbnRlcmFjdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCBoMyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzNlNDc1YjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzIwYWNlOTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLnNwZWNpZmljYXRpb24gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDQ7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTElO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzNlNDc1YjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgb3JkZXI6IDU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciAuYWRkVG9CYXNrZXQge1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzIwYWNlOTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICMyYjY5YzY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnZhdCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5lbnF1aXJ5LWNvbCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3JkZXI6IDQ7IH1cblxuLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweCAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKlxyXG5cclxuLS0tLSBBWElTIERlYnVnZ2VyIC0tLS0gXHJcblxyXG5UaGlzIGlzIGEgc2lkZSBwcm9qZWN0IG9mIG1pbmUgcHVybHkgdG8gbWFrZSBkZXYgbGlmZSBhIGxpdHRsZSBlYXNpZXIgLyBmYXN0ZXIgZXNzZW50aWFsbHkgdGhpcyBpcyBqdXN0IGEgZHJhd2VyIHdpdGggYSBidW5jaCBvZiBvcHRpb25zIHRvIGZsdXNoIGNhY2hlLCBzZXQgZGVidWcgbGV2ZWxzICYgY2xlYXIgdGhlIGNvbnNvbGUuXHJcblxyXG4qL1xuLmRldmVsb3BtZW50LWRyYXdlci1jb250YWluZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkYWRhZGE7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgei1pbmRleDogODAwMDAwMDAwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC44czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuXG4uZGV2ZWxvcG1lbnQtZHJhd2VyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIHVsIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNlcnZpY2Utd29ya2VyLWNvbnRhaW5lciAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5kcmF3ZXItaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMjBhY2U5O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMjg7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjFcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MS44cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzI4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM0MzsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMlwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQ1LjZweDtcbiAgICAgICAgY29sb3I6ICNiMjBjNDM7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzVmOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIzXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDkuNHB4O1xuICAgICAgICBjb2xvcjogI2IyMGM1ZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjN2I7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjRcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA1My4ycHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzdiO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uY2xlYXItY2FjaGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74a4XCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uY2xlYXItY29uc29sZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhKBcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5zZXQtZGVidWdnaW5nLWxldmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+GiFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLmF4aXMtdGVzdC1tb2RlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+SklwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNpdGUtc3R5bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75S/XCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMzZTQ3NWI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMGFjZTk7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2FlYWVhZTsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuc2xpZGVyIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIFtkYXRhLXNsaWRlci12YWx1ZV0ge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuc2xpZGVyIGlucHV0IHtcbiAgICAgIGZsZXg6IDA7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLm9wdGlvbi1jb250cm9scy1jb250YWluZXIsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuOnJvb3Qge1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wOiAjM2U0NzViO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xOiAjNGM1ODcwO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjNWI2ODg1O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zOiAjNmE3OTlhO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy00OiAjODA4Y2E4O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjOTU5ZmI3O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy02OiAjYWFiMmM1O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy03OiAjYmZjNmQ0O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjZDVkOWUyO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05OiAjZWFlY2YxO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMDogI2Y0ZjVmODtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wOiAjMjBhY2U5O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICMzNmI0ZWI7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMjogIzRkYmRlZDtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0zOiAjNjNjNWYwO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICM3OWNkZjI7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNTogIzkwZDZmNDtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy02OiAjYTZkZWY2O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICNiY2U2Zjg7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtODogI2QyZWVmYjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy05OiAjZTlmN2ZkO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZjRmYmZlO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMDogI2MwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTE6ICNlMDAwMDA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0yOiAjZmYwMTAxO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMzogI2ZmMjAyMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTQ6ICNmZjQwNDA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy01OiAjZmY2MDYwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNjogI2ZmODA4MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTc6ICNmZmEwYTA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy04OiAjZmZiZmJmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOTogI2ZmZGZkZjtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTEwOiAjZmZlZmVmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMDogIzJiNTc5YTtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTE6ICMzMjY1YjI7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0yOiAjM2I3M2M4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMzogIzU0ODVjZjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTQ6ICM2Yzk2ZDY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy01OiAjODVhOGRkO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNjogIzlkYjllNDtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTc6ICNiNmNiZWI7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy04OiAjY2VkY2YxO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOTogI2U3ZWVmODtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTEwOiAjZjNmNmZjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMDogI2ZmZjIwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTE6ICNmZmYzMWE7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0yOiAjZmZmNTMzO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMzogI2ZmZjY0ZDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTQ6ICNmZmY3NjY7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy01OiAjZmZmOTgwO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNjogI2ZmZmE5OTtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTc6ICNmZmZiYjM7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy04OiAjZmZmY2NjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOTogI2ZmZmVlNjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTEwOiAjZmZmZWYyO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMDogI2EyMzRlMztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTE6ICNhYjQ4ZTY7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0yOiAjYjU1ZGU5O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMzogI2JlNzFlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTQ6ICNjNzg1ZWU7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy01OiAjZDE5YWYxO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNjogI2RhYWVmNDtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTc6ICNlM2MyZjc7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy04OiAjZWNkNmY5O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOTogI2Y2ZWJmYztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTEwOiAjZmFmNWZlO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wOiAjNDg0ODQ4O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xOiAjNWI1YjViO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0yOiAjNmQ2ZDZkO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0zOiAjN2Y3ZjdmO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00OiAjOTE5MTkxO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy01OiAjYTRhNGE0O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02OiAjYjZiNmI2O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03OiAjYzhjOGM4O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04OiAjZGFkYWRhO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05OiAjZWRlZGVkO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2Y2ZjZmNjtcbiAgLS1ibGFjay1jb2xvdXI6ICMwMDAwMDA7XG4gIC0td2hpdGUtY29sb3VyOiAjZmZmZmZmO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wOiAjMTI4MTFmO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0xOiAjMTZhMTI3O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0yOiAjMWJjMTJlO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0zOiAjMjBlMDM2O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy00OiAjNDBlNDUzO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy01OiAjNjBlOTcwO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy02OiAjODBlZDhjO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy03OiAjOWZmMmE5O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy04OiAjYmZmNmM2O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy05OiAjZGZmYmUyO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2VmZmRmMTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMDogI2ZmNWUwNTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMTogI2ZmNmUxZTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMjogI2ZmN2UzNztcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMzogI2ZmOGU1MDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNDogI2ZmOWU2OTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNTogI2ZmYWY4MjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNjogI2ZmYmY5YjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNzogI2ZmY2ZiNDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtODogI2ZmZGZjZDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOTogI2ZmZWZlNjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMTA6ICNmZmY3ZjM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0wOiAjYjIwYzBjO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMTogI2QwMGUwZTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTI6ICNlZTEwMTA7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0zOiAjZjEyZDJkO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNDogI2YzNGI0YjtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTU6ICNmNTY5Njk7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy02OiAjZjc4Nzg3O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNzogI2Y5YTVhNTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTg6ICNmYmMzYzM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy05OiAjZmRlMWUxO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMTA6ICNmZWYwZjA7XG4gIC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAxMzAwcHg7XG4gIC0tdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDE5MjBweDtcbiAgLS1wcmltYXJ5LWZvbnQ6IEV4byAyLCBFeG8gMiBGYWxsYmFjaywgQXJpYWw7XG4gIC0tc21vb3RoLWVkZ2VzLWVuYWJsZWQ6IGZhbHNlO1xuICAtLXNtb290aC1lZGdlcy1sZXZlbDogMTVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTE6IDVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTI6IDI1cHg7XG4gIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjY7XG4gIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjMDAwMDAwO1xuICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRXhvIDIgRmFsbGJhY2tcIjtcbiAgc3JjOiBsb2NhbChcIkFyaWFsXCIpO1xuICBzaXplLWFkanVzdDogMTI0LjM4JTtcbiAgYXNjZW50LW92ZXJyaWRlOiA5OS45JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjAuMSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5ib2R5LnNjcm9sbExvY2sge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxubWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIG1haW4gPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCB7XG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7IH0gfVxuXG4uZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cgLmFsaWduLWNlbnRlciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIG1hcmdpbjogMzBweCAwOyB9IH1cblxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHdpZHRoOiAxOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIsICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMzZTQ3NWI7IH1cblxuI3JlZ2lzdGVyLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICMzZTQ3NWI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkV4byAyXCIsIFwiRXhvIDIgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMyMGFjZTk7IH1cbiAgLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMyYjY5YzY7IH1cblxueG1wIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkOm5vdCguYW5pbWF0ZWQtY29udGVudC1hY3RpdmUpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5qc29uLWNvZGUtYmxvY2sgY29kZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg4VcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ3NWI7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4iLCIkZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIjtcbiRlbWFpbFRlbXBsYXRlOiBmYWxzZTtcbi8qKlxyXG5cclxuVGhpcyBpcyB0aGUgYmFzZSBvZiB0aGUgYXBwLmNzcyBmaWxlLCB0byBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb3QgYSBzaXRlIGxldmVsIGdvIHRvIC9icmFuZGluZy5zY3NzIGlmIHlvdSBuZWVkIG1vZGlmeSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHNpdGVzIGdvIHRvIC9nbG9iYWwvdmFyaWFibGVzLnNjc3MuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gTm8gQkVTUE9LRSBDU1MgUlVMRSdTIHNob3VsZCBiZSBzcGVjaWZpZWQgaGVyZSBvciBpbiBicmFuZGluZy5zY3NzLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgdGhlIGNzcyBkbyBpdCBpbiBlaXRoZXIgL2dsb2JhbCBvciBpbiAvY29tcG9uYW50cyBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSB0ZWFycywgSUYgeW91IHJlYWxseSBoYXZlIHRvIHRvIGl0IGluIHRoZSBzaXRlIHNwZWNpZmljIGJyYW5kaW5nLnNjc3MgdW5kZXIgYWxsIG9mIHRoZSBTQVNTIG92ZXJyaWRlcy5cclxuXHJcbioqL1xyXG5cclxuLy8gLS0tLS0gRGVwZW5kYW5jaWVzIC0tLS0tXHJcblxyXG4vLyBFeHByZXNzIEZ1bmN0aW9ucy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2Z1bmN0aW9ucyc7XHJcblxyXG4vLyBJbXBvcnQgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5cclxuQGltcG9ydCAnLi9icmFuZGluZyc7XHJcblxyXG4vLyBJbXBvcnQgRXhwcmVzcyBzdHlsZXNoZWV0LlxyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvYXBwJzsiLCIvLyBTdGFuZGFyZCBjdXN0b20gZnVuY3Rpb25zICggbm90IGZvdW5kYXRpb24ncyBmdW5jdGlvbnMgKSB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgdGVtcGxhdGUuIFxyXG5cclxuLy8gVmFyaWFibGVzIHRoYXQgaGF2ZSB0byBiZSBkZWZpbmVkLlxyXG4kYnJlYWtwb2ludHM6IG51bGwgIWRlZmF1bHQ7XHJcbkBpZiAoJGJyZWFrcG9pbnRzID09IG51bGwpIHtcclxuICAgIC8vIEZhbGxiYWNrLlxyXG4gICAgJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogMTMwMHB4LFxyXG4gICAgICAgIHhsYXJnZTogMTYwMHB4LFxyXG4gICAgICAgIHh4bGFyZ2U6IDE5MjBweFxyXG4gICAgKTtcclxufVxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBzbG93bHkgYmVpbmcgcm9sbGVkIG91dCBhY3Jvc3MgZXhwcmVzcy5cclxuXHJcbi8vIEhhbmRsZXMgaG93IGJvcmRlci1yYWRpdXMgdmFsdWVzIGdldCBhcHBsaWVkLCBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQgaXMgc2V0IGJ5IGRlZmF1bHQgJHNtb290aC1lZGdlcy1sZXZlbCBnZXRzIHVzZWQgYW5kIGlmIGEgJGN1c3RvbS12YWx1ZSBpcyBwYXNzZWQgaW4gdGhhdCB0YWtlcyBwcmVzaWRlbmNlIG92ZXIgdGhlIGRlZmF1bHQgdmFsdWUgd2hpY2ggaXMgc2V0IGJ5ICRzbW9vdGgtZWRnZXMtbGV2ZWwuXHJcbkBmdW5jdGlvbiBzbW9vdGgtZWRnZXMoJGN1c3RvbS12YWx1ZTogMCkge1xyXG4gICAgLy8gQ2FuY2VsbGVkIG91dCBhbGwgZWZmZWN0LlxyXG4gICAgQGlmICgkY3VzdG9tLXZhbHVlID09IGZhbHNlKSB7XHJcbiAgICAgICAgQHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBAcmV0dXJuIGlmKCRjdXN0b20tdmFsdWUgIT0gMCwgJGN1c3RvbS12YWx1ZSwgJHNtb290aC1lZGdlcy1sZXZlbCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAaWYgJGN1c3RvbS12YWx1ZSA9PSAwIHtcclxuICAgICAgICAgICAgQHJldHVybiAwO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAcmV0dXJuICRjdXN0b20tdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuLy8gU2ltcGxlIGZ1bmN0aW9ucyBmb3IgZXh0cmFjdGluZyB2YWx1ZXMgYmFzZWQgb24gYnJlYWtwb2ludC5cclxuLy8gTW9iaWxlLlxyXG4vLyBAZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGlzIGlzIGEgbGlzdCBvciBtYXAuXHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAgJ2xpc3QnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbnVtYmVyJyB7XHJcbi8vICAgICAgICAgQHJldHVybiAkdmFsdWVzO1xyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBzbWFsbCB2YWx1ZS5cIjtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIE1lZGl1bVxyXG4vLyBAZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XHJcbi8vICAgICAgICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+IDEge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbWVkaXVtKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBtZWRpdW0pO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoKCR2YWx1ZXMsIHNtYWxsKSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIG1lZGl1bSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuICAgICAgICBcclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbWVkaXVtIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG4vLyBMYXJnZVxyXG4vLyBAZnVuY3Rpb24gbGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMiB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDMpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBsYXJnZSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbGFyZ2UpO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgc21hbGwpIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQGRlYnVnIFwiQ291bGQgbm90IGZpbmQgYSBsYXJnZSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbGFyZ2UgdmFsdWUsIHZhbHVlcyBwYXNzZWQgYXJlIG9mIHR5cGU6IFwiICsgdHlwZS1vZigkdmFsdWVzKTtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4gICAgXHJcbi8vIH1cclxuXHJcbi8vIFNtYWxsIFJlc3BvbnNpdmUgVmFsdWVzLlxyXG5AZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAxKTtcclxufVxyXG5cclxuLy8gTWVkaXVtIFJlc3BvbnNpdmUgVmFsdnVlLlxyXG5AZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMik7XHJcbn1cclxuXHJcbi8vIExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDMpO1xyXG59XHJcblxyXG4vLyB4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHhsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDQpO1xyXG59XHJcblxyXG4vLyB4eExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiB4eGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNSk7XHJcbn1cclxuXHJcbi8qXHJcblxyXG52YWx1ZXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb3IgbWFwLlxyXG5cclxuQnJlYWtwb2ludCB2YWx1ZXM6XHJcblNtYWxsID0gMVxyXG5NZWRpdW0gPSAyXHJcbkxhcmdlID0gM1xyXG54TGFyZ2UgPSA0XHJcbnh4TGFyZ2UgPSA1XHJcblxyXG4qL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsICRicmVha3BvaW50KSB7XHJcbiAgICAvLyBJZiB2YWx1ZXMgaXMgYSBsaXN0ICggaS5lIG5lc3RlZCBwcmVzZXQgKVxyXG4gICAgQGlmICh0eXBlLW9mKCR2YWx1ZXMpID09IFwibGlzdFwiKSB7XHJcbiAgICAgICAgLy8gVXNpbmcgdGhlIGJyZWFrcG9pbnQgdmFsdWUgbWF0Y2ggaXQgZG8gdGhlIHZhbHVlcyBpbiB0aGUgbGlzdC5cclxuICAgICAgICBAaWYgKGxlbmd0aCgkdmFsdWVzKSA+PSAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkYnJlYWtwb2ludCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIElmIG5vIGJyZWFrcG9pbnQgdmFsdWUgYXNzaWduZWQgdGhlbiBmaW5kIG5lYXJlc3Qgb25lLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCBsZW5ndGgoJHZhbHVlcykpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcpIHtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgYnJlYWtwb2ludCBpcyBhY3R1YWxseSBjb25maWd1cmVkLlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCRicmVha3BvaW50cykgPCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAZXJyb3IoXCJDb25maWd1cmVkIGJyZWFrcG9pbnRzIGRvbid0IGdvIHVwIHRoYXQgaGlnaCAoICN7JGJyZWFrcG9pbnR9ICksIHBsZWFzZSBjaGVjayB0aGUgX3NldHRpbmdzLnNjc3Mgc2VjdGlvbiAyLiBCcmVha3BvaW50cyBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERvZXMgZG9lcyAkdmFsdWVzIGhhdmUgYSBrZXkgZm9yIHRoaXMgYnJlYWtwb2ludD9cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEZpbmQgTmVhcmVzdCB2YWx1ZS5cclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCBsZW5ndGgoJHZhbHVlcykpKTtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgIEBlcnJvciBcIkZhaWxlZCB0byByZXR1cm4gcmVzcG9uc2l2ZSB2YWx1ZSwgdGhpcyB3YXMgYmVjYXVzZSB0aGUgdmFsdWVzIHdlcmUgbm90IGluIGEgbWFwIG9yIGxpc3QsIHRoZSB2YWx1ZXMgYXNzaWduZWQgd2VyZSBvZiB0eXBlICgje3R5cGUtb2YoJHZhbHVlcyl9KSBhbmQgdGhlIHZhbHVlIGlzICN7JHZhbHVlc30sIHBsZWFzZSBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24gZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkZWZhdWx0LWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRlZmF1bHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaG92ZXItY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgaG92ZXIpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gYWN0aXZlLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGFjdGl2ZSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkaXNhYmxlZC1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBkaXNhYmxlZCk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgc2l6ZS5cclxuQGZ1bmN0aW9uIGdldC1idXR0b24tZm9udC1zaXplKCR0eXBlOiAnc3RhbmRhbG9uZScpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29tbW9uLWJ1dHRvbi1mb250LXNpemVzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgd2VpZ2h0LlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0cywgJHR5cGUpO1xyXG59XHJcblxyXG4vLyBVc2VkIGZvciBnZXR0aW5nIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCB2YWx1ZXMgZnJvbSBsaXN0cyBuZXN0ZWQgaW4gbWFwcyBmb3IgcG9zaXRpb25pbmcsIG1hcmdpbnMgJiBwYWRkaW5nLlxyXG5AZnVuY3Rpb24gc3BhY2luZy12YWx1ZSgkdmFsdWVzLCAkc2lkZTogMCwgJGtleTogXCJzbWFsbFwiKSB7XHJcbiAgICAvLyBAaWYgJHNpZGUgPiA0IG9yICRzaWRlIDwgMSB7XHJcbiAgICAvLyAgICAgQGRlYnVnIFwic3BhY2luZy12YWx1ZTogJHNpZGUgY2Fubm90IGJlIGxlc3MgdGhhdCAxIG9yIG1vcmUgdGhhbiA0XCI7XHJcbiAgICAvLyAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIC8vIH0gXHJcbiAgICAvLyBXaGF0IHR5cGUgYXJlIHdlIGRlYWxpbmcgd2l0aCBoZXJlPyBtYXAocyksIGxpc3Qgb3IgbnVtYmVyLlxyXG4gICAgJHZhbHVlc1R5cGU6IHR5cGUtb2YoJHZhbHVlcyk7XHJcbiAgICBAaWYoJHZhbHVlc1R5cGUgPT0gXCJtYXBcIikge1xyXG4gICAgICAgIEBpZiAka2V5ID09IFwic21hbGxcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IHNtYWxsLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1lZGl1bVwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWVkaXVtLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxhcmdlXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBsYXJnZS12YWx1ZSgkdmFsdWVzKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWFwLWdldCgkdmFsdWVzLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEF0dGVtcHRpbmcgdG8gY2F0ZXIgZm9yIHNob3J0IGhhbmQgdXNlLlxyXG4gICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAzIGFuZCAkc2lkZSA9PSA0IHtcclxuICAgICAgICAkc2lkZTogMjtcclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDIgYW5kICgkc2lkZSA+IDIpIHtcclxuICAgICAgICAkc2lkZTogaWYoJHNpZGUgPT0gMywxLDIpO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XHJcbiAgICAgICAgJHNpZGU6IDE7XHJcbiAgICB9XHJcbiAgICAkdmFsdWU6IDA7XHJcbiAgICAvLyBGaW5kIHRoZSB2YWx1ZSB0aGF0IG1hdGNoZXMgdGhlIHNpZGUuXHJcbiAgICBAaWYgKCRzaWRlID4gMCkge1xyXG4gICAgICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRzaWRlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIEp1c3Qgb3V0cHV0IHdoYXRldmVyIGlzIHNldCBpbiBhIHN0cmluZy5cclxuICAgICAgICAkdmFsdWU6ICR2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLXNwbGl0KCRzdHJpbmcsICRzZXBhcmF0b3IpIHtcclxuICAgIC8vIGVtcHR5IGFycmF5L2xpc3RcclxuICAgICRzcGxpdC1hcnI6ICgpO1xyXG4gICAgLy8gZmlyc3QgaW5kZXggb2Ygc2VwYXJhdG9yIGluIHN0cmluZ1xyXG4gICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgLy8gbG9vcCB0aHJvdWdoIHN0cmluZ1xyXG4gICAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcclxuICAgICAgICAvLyBnZXQgdGhlIHN1YnN0cmluZyBmcm9tIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gdGhlIHNlcGFyYXRvclxyXG4gICAgICAgICRpdGVtOiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSk7XHJcbiAgICAgICAgLy8gcHVzaCBpdGVtIHRvIGFycmF5XHJcbiAgICAgICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcclxuICAgICAgICAvLyByZW1vdmUgaXRlbSBhbmQgc2VwYXJhdG9yIGZyb20gc3RyaW5nXHJcbiAgICAgICAgJHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIDEpO1xyXG4gICAgICAgIC8vIGZpbmQgbmV3IGluZGV4IG9mIHNlcGFyYXRvclxyXG4gICAgICAgICRpbmRleCA6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICAgIC8vIGFkZCB0aGUgcmVtYWluaW5nIHN0cmluZyB0byBsaXN0ICh0aGUgbGFzdCBpdGVtKVxyXG4gICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRzdHJpbmcpO1xyXG5cclxuICAgIEByZXR1cm4gJHNwbGl0LWFycjtcclxufVxyXG5cclxuLy8gR2V0IHNvY2lhbCBpY29uLlxyXG5AZnVuY3Rpb24gc29jaWFsLWljb24oJHBsYXRmb3JtKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHNvY2lhbC1pY29ucywgJHBsYXRmb3JtKTtcclxufVxyXG5cclxuLy8gVXNlZCB0byBkaXNwbGF5IGRlZmF1bHQgaWNvbnMgaWYgbm8gc2l0ZSBzcGVjaWZjIGljb24gaGFzIGJlZW4gZGVmaW5lZC5cclxuQGZ1bmN0aW9uIGN1c3RvbS1pY29uLWZhbWlseSgkZGVmYXVsdC1mb250LWZhbWlseSwgJGVuYWJsZWQ6IGZhbHNlKSB7XHJcbiAgICAvLyBJZiBjdXN0b20gaWNvbiBpcyBlbmFibGVkIGFuZCB0aGUgZ2xvYmFsIGZsYWcgaXMgc2V0IHRoZW4gb3V0cHV0IHNpdGUgc3BlY2lmaWMgZm9udCBmYW1pbHksIGlmICRlbmFibGVkPXRydWUgYnV0ICRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQgaXMgZmFsc2UgdGhlbiB5b3UgbW9zdCBsaWtlbHkgaGF2ZSBub3Qgc2V0IHVwIGN1c3RvbSBpY29uIGZvbnRzIGNvcnJlY3RseS5cclxuICAgIEBpZiAkZW5hYmxlZCBhbmQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICAgICAgQHJldHVybiAkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gJGRlZmF1bHQtZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRPRE86IHRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLlxyXG5AZnVuY3Rpb24gY29udHJhc3QtY2hlY2tlcigkY29sb3VyLWEsICRjb2xvdXItYikge1xyXG4gICAgQGlmICgkY29sb3VyLWEgPT0gbnVsbCkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbnRyYXN0IENoZWNrZXI6ICRjb2xvdXItYSBpcyBudWxsIHNvIG5vdGhpbmcgdG8gY29tcGFyZSBkZWZhdWx0aW5nIHRvICN7JGNvbG91cjB9IGZvciAjeyRzaXRlfVwiO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb2xvdXItYiA9PSBudWxsKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGVycm9yIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1iIGlzIG51bGwgZGVmYXVsdGluZyB0byAkY29sb3VyLWEgZm9yICN7JHNpdGV9IC0gXCIgJGNvbG91ci1iO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgJHJhdGlvOiBjb2xvci1jb250cmFzdCgkY29sb3VyLWEsICRjb2xvdXItYik7XHJcbiAgICAkbWF0Y2hlZC1jb2xvdXI6IFwiXCI7XHJcbiAgICAvLyBJZiBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IHRoZW4gZXhpdC5cclxuICAgIEBpZiAkY29sb3VyLWIgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgLy8gSWYgcmF0aW8gaXMgYmVsb3cgdGhyZXNob2xkIHRoZW4gZmluZCBhIGRpZmZlcmVudCBjb2xvdXIuXHJcbiAgICBAaWYgJHJhdGlvIDwgJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICBAaWYgJGRlYnVnIGFuZCAkZGVidWctbGV2ZWwgPT0gMiB7XHJcbiAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImNvbG91clwiICRjb2xvdXItYSBcImNvbnRyYXN0IGNvbmZsaWN0cyB3aXRoXCIgJGNvbG91ci1iIFwiYXR0ZW1wdGluZyB0byBmaW5kIGFsdGVybmF0aXZlLlwiICRyYXRpbzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbG91ciB0aGF0IGlzIGFib3ZlIHRoZSByYXRpbyB0aHJlc2hvbGQuXHJcbiAgICAgICAgQGVhY2ggJGNvbG91ciBpbiAkY29udHJhY3QtY2hlY2tlci1jb2xvdXItZmFsbGJhY2tzIHtcclxuICAgICAgICAgICAgQGlmIGNvbG9yLWNvbnRyYXN0KCRjb2xvdXIsICRjb2xvdXItYikgPj0gJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICAgICAgICAgICRtYXRjaGVkLWNvbG91cjogJGNvbG91cjtcclxuICAgICAgICAgICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgICAgICAgICBAZGVidWcgJHNpdGUgXCJhbHRlcm5hdGl2ZSBmb3VuZCEgXCIgJG1hdGNoZWQtY29sb3VyOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEByZXR1cm4gJGNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGUgcmF0aW8gaXMgYmVsb3cgdGhlIHRocmVzaG9sZCB0aGVuIHJldHVybiAkY29sb3VyLWEuXHJcbiAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRtYXRjaGVkLWNvbG91cjtcclxufVxyXG5cclxuLy8gVG8gY3JlYXRlIGFuIGlnbm9yZSBsaXN0IGFzIDpub3QoKSBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IG11bHRpcGxlIHNlbGVjdG9ycy4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTY4NDE2MC9jYW4tdGhlLW5vdC1wc2V1ZG8tY2xhc3MtaGF2ZS1tdWx0aXBsZS1hcmd1bWVudHNcclxuQG1peGluIG5vdCgkaWdub3JMaXN0Li4uKSB7XHJcbiAgICAvL2lmIG9ubHkgYSBzaW5nbGUgdmFsdWUgZ2l2ZW5cclxuICAgIEBpZiAobGVuZ3RoKCRpZ25vckxpc3QpID09IDEpe1xyXG4gICAgICAgIC8vaXQgaXMgcHJvYmFibHkgYSBsaXN0IHZhcmlhYmxlIHNvIHNldCBpZ25vcmUgbGlzdCB0byB0aGUgdmFyaWFibGVcclxuICAgICAgICAkaWdub3JMaXN0OiBudGgoJGlnbm9yTGlzdCwxKTtcclxuICAgIH1cclxuICAgIC8vc2V0IHVwIGFuIGVtcHR5ICRub3RPdXRwdXQgdmFyaWFibGVcclxuICAgICRub3RPdXRwdXQ6ICcnO1xyXG4gICAgLy9mb3IgZWFjaCBpdGVtIGluIHRoZSBsaXN0XHJcbiAgICBAZWFjaCAkbm90IGluICRpZ25vckxpc3Qge1xyXG4gICAgICAgIC8vZ2VuZXJhdGUgYSA6bm90KFtpZ25vcmVkX2l0ZW1dKSBzZWdtZW50IGZvciBlYWNoIGl0ZW0gaW4gdGhlIGlnbm9yZSBsaXN0IGFuZCBwdXQgdGhlbSBiYWNrIHRvIGJhY2tcclxuICAgICAgICAkbm90T3V0cHV0OiAkbm90T3V0cHV0ICsgJzpub3QoI3skbm90fSknO1xyXG4gICAgfVxyXG4gICAgLy9vdXRwdXQgdGhlIGZ1bGwgOm5vdCgpIHJ1bGUgaW5jbHVkaW5nIGFsbCBpZ25vcmVkIGl0ZW1zXHJcbiAgICAmI3skbm90T3V0cHV0fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENoZWNrIHdoZXRoZXIgYSBtYXAgaGFzIGEga2V5LlxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YXJpYWJsZSkge1xyXG4gICAgQHJldHVybiBtYXAtaGFzLWtleSgkbGlzdCwgJHZhcmlhYmxlKTtcclxufVxyXG5cclxuLy8gR2V0IHR5cG9ncmFwaHkgZm9udCBmYW1pbHkuXHJcbkBmdW5jdGlvbiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgkZmFtaWx5OiBwcmltYXJ5LWZvbnQpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCAkZmFtaWx5KSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gTWFrZSBhbiBhc3N1bXB0aW9uIHRoYXQgdGhlcmUgd2lsbCBhbHdheXMgYmUgYSBwcmltYXJ5LWZvbnQgZGVmaW5lZC5cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgcHJpbWFyeS1mb250KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAZXJyb3IgXCJnZXQtZm9udC1mYW1pbHk6IEZhaWxlZCB0byBmYWxsYmFjayB0byBwcmltYXJ5LWZvbnQgZm9yICN7JHNpdGV9LCBpcyBpdCBkZWZpbmVkP1wiO1xyXG4gICAgICAgICAgICBAcmV0dXJuIFwiQXJpYWxcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlcyBjb2xvdXIgcGFsbGV0ZSBiYXNlZCBvbiBhIGJhc2UgY29sb3VyIHRoZW4gbGlnaHRlbidzIGJ5IDEwJSBlYWNoIGxldmVsLlxyXG5AZnVuY3Rpb24gY3JlYXRlLWNvbG91ci12YXJpYW50cygkY29sb3VyLCAkbGV2ZWxzOiA5KSB7XHJcbiAgICAvLyBXb3Jrb3V0IGJhc2UgY29sb3VyLlxyXG4gICAgJGJhc2UtY29sb3VyOiBtYXAtZ2V0KCRjb2xvdXIsIDApO1xyXG4gICAgQGlmICgkYmFzZS1jb2xvdXIgPT0gbnVsbCkge1xyXG4gICAgICAgIEByZXR1cm4gKCk7XHJcbiAgICB9XHJcbiAgICAvLyBDcmVhdGUgbWFwIHRoYXQgbmV3IGNvbG91cnMgZ2V0IGhlbGQgaW4uXHJcbiAgICAkY29sb3VyczogKCk7XHJcbiAgICAvLyBDcmVhdGUgbmV3IGNvbG91cnMuXHJcbiAgICBAZm9yICRsZXZlbCBmcm9tIDEgdGhyb3VnaCAkbGV2ZWxzIHtcclxuICAgICAgICAvLyBCdWlsZCBzdHJlbmd0aCBiYXNlZCBvbiBjb3VudC5cclxuICAgICAgICAkc3RyZW5ndGg6IHBlcmNlbnRhZ2UoKCRsZXZlbCAvIDEwKSk7XHJcbiAgICAgICAgLy8gT3V0cHV0IENTUyB2YXJpYWJsZSB3aXRoIG5ldyBsaWdodG5lc3MuXHJcbiAgICAgICAgJG5ldy1jb2xvdXI6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogJHN0cmVuZ3RoKTtcclxuICAgICAgICAvLyBBZGQgbmV3IGNvbG91ciB0byBtYXAuXHJcbiAgICAgICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCRsZXZlbDogJG5ldy1jb2xvdXIpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGQgOTUlIGxpZ2h0bmVzcywgdGhpcyBpcyByZXF1aXJlZCBhcyBtb3N0IHNpdGVzIHJlcXVpcmUgYSB0b25lIGJldHdlZWVuIDkwIH4gOTglIGZvciBidXR0b25zLCBoZWFkaW5nIGJhY2tncm91bmRzIG9yIHBhbmVsIHNoYWRpbmcgKCBpLmUgYmFza2V0IHN1bW1hcnkgKS5cclxuICAgICRjb2xvdXJzOiBtYXAtbWVyZ2UoJGNvbG91cnMsICgoJGxldmVscyArIDEpOiBzY2FsZS1jb2xvcigkYmFzZS1jb2xvdXIsICRsaWdodG5lc3M6IDk1KSkpO1xyXG5cclxuICAgIC8vIFJldHVybiBuZXcgY29sb3Vycy5cclxuICAgIEByZXR1cm4gJGNvbG91cnM7XHJcbn0iLCIvKipcclxuXHJcblNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgKCBjb2xvdXJzICYgZm9udHMgKSBhbnkgc2FzcyBvdmVycmlkZXMgZ2V0IGRlZmluZWQgaGVyZSBhcyB3ZWxsLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIFlvdSBtYXliZSBjb21wZWxsZWQgdG8gd3JpdGUgYmVzcG9rZSBjc3MgcnVsZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSBqdXN0IHRvIG1ha2UgYSBcIiBxdWljayBcIiBzaXRlIHNwZWNpZmljIGNoYW5nZSBidXQgdGhpcyBXSUxMIGNvbmZsaWN0IHdpdGggdGhlIGNzcyBiZWluZyBkZWZpbmVkIGluIC9nbG9iYWwgYW5kIC9jb21wb25lbnQgZWl0aGVyIGZyb20gYSBjb25maWd1cmF0aW9uIHN0YW5jZSBvciByZXNwb25zaXZlIHBvaW50IG9mIHZpZXcsIHNvIHBsZWFzZSBjb25zdWx0L21vZGlmeSB0aG9zZSAyIGRpcmVjdG9yaWVzIGFzIG5lZWRlZCwgdGhpcyBmaWxlIHdhcyBvbmx5IHRvIGRlc2lnbmVkIGZvciBTQVNTIHZhcmlhYmxlcy5cclxuXHJcbioqL1xyXG4vLyBTaXRlIG5hbWUuXHJcbiRzaXRlOiAnb3BkZXhwcmVzcyc7XHJcblxyXG4kY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQ6IDIuNjtcclxuXHJcbi8vIC0tLS0tIFNldCBCcmFuZGluZyAtLS0tLVxyXG4vLyAtLS0gRm9udHMgLS0tXHJcbi8vIHR5cG9ncmFwaHkgXHJcbiR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQ6IChcclxuICAgIHByaW1hcnktZm9udDogXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUV4bysyOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDUwMDswLDYwMDswLDcwMDswLDgwMDswLDkwMDsxLDMwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMDsxLDkwMCZkaXNwbGF5PXN3YXBcIlxyXG4pO1xyXG5cclxuJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgcHJpbWFyeS1mb250OiAoXCJFeG8gMlwiLCBcIkV4byAyIEZhbGxiYWNrXCIsIFwiQXJpYWxcIilcclxuKTtcclxuXHJcbiRmb250LWZhbGxiYWNrLW1ldHJpY3M6IChcclxuICAgIHByaW1hcnk6IChcclxuICAgICAgICBmYWxsYmFjazogJ0FyaWFsJyxcclxuICAgICAgICBzaXplLWFkanVzdDogMTI0LjM4JSxcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IDk5LjkwJSxcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiAyMC4xMCUsXHJcbiAgICAgICAgbGluZS1nYXAtb3ZlcnJpZGU6IDAuMDAlXHJcbiAgICApXHJcbik7XHJcblxyXG4vLyAtLS0gU2V0IENvbG91ciBQYWxsZXR0ZSAtLS0gXHJcbiRjb2xvdXI0OiAjM2U0NzViO1xyXG4kY29sb3VyNC0xOiAjNzI3OThhO1xyXG4kY29sb3VyNC0yOiAjMmI2OWM2O1xyXG4kY29sb3VyNjogIzIwYWNlOTtcclxuJGFjY2VudC1jb2xvdXItMzogKFxyXG4gICAgMDogI2ZmZjIwMFxyXG4pO1xyXG5cclxuLy8gSW1wb3J0IGRlZmF1bHQgYnJhbmRpbmcgZ3VpZGVsaW5lcy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2JyYW5kaW5nJztcclxuXHJcbi8vIC0tLS0tIFNBU1Mgb3ZlcnJpZGVzIC0tLS0tXHJcbiRwcmljZS1jb2xvdXI6ICRjb2xvdXI0LTI7XHJcbi8vIC0tLS0tIEJ1dHRvbnMgLS0tLS0gXHJcbiRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNiwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKTtcclxuJHNlY29uZGFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbik7XHJcbi8vIEhlYWRlclxyXG4kaGVhZGVyLXVwcGVyLWJvcmRlcjogdHJ1ZTtcclxuJGhlYWRlci11cHBlci1ib3JkZXItY29sb3VyOiAkY29sb3VyNC0xO1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlci13aWR0aDogMCAwIDFweDtcclxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQ7XHJcbiRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIxLFxyXG4gICAgbGFyZ2U6ICRjb2xvdXI0LTFcclxuKTtcclxuJGhlYWRlci11cHBlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjEsIC44KSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjBcclxuKTtcclxuJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjEsIC41KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKTtcclxuJGhlYWRlci11cHBlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXIgOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGFjdGl2ZSlcclxuKTtcclxuJGhlYWRlci11cHBlci1mb250LXNpemU6IDE1O1xyXG4vLyRoZWFkZXItdXBwZXItZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0OiAzMDA7XHJcbiRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogIzUwNTg2YSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbik7XHJcbiRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pO1xyXG4vLyRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRtZWdhLW1lbnUtYm9yZGVyOiB0cnVlO1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzOiBmYWxzZTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwLFxyXG4gICAgbGFyZ2U6IDE2XHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDYwMCxcclxuICAgIGxhcmdlOiA0MDBcclxuKTtcclxuJGhlYWRlci1sb2dvLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMjkwcHgsXHJcbiAgICBtaW5pZmllZDogNjVweCxcclxuICAgIHNtYWxsOiBhdXRvXHJcbik7XHJcbi8vIERlcHJlY2F0ZWQgbW92aW5nIHRvIHJlbGF0aXZlIGxlbmd0aFxyXG4vLyAkbG9nby1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIGxhcmdlOiA0MTBweFxyXG4vLyApO1xyXG4kbG9nby1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pO1xyXG4kc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsOiB0cnVlO1xyXG5cclxuLy8gLS0tIE1vZHVsZXMgLS0tIFxyXG4kY21zLXJtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pO1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZTogMTM7XHJcbiRicmVhZGNydW1icy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4vLyAtLS0gRm9vdGVyIC0tLSBcclxuJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg6IDIwMHB4O1xyXG4kZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDE4cHggYXV0byAwXHJcbik7XHJcbi8vIC0tLSBJbnB1dHMgLS0tIFxyXG4kaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIxLCAuNSlcclxuKTtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXNpemU6IDE3O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG91cjogJGNvbG91cjQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMlxyXG4pO1xyXG4kaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIxLCAuNSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKTtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogcmdiYSgkY29sb3VyNC00LCAwLjEpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LCBcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kZmF2b3VyaXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKTtcclxuXHJcbi8vIC0tLSBUeXBvZ3JhcGh5IC0tLSBcclxuJGhlYWRpbmctMS1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDYwMCxcclxuICAgIHByZXNldC0yOiAzMDBcclxuKTtcclxuJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6ICRjb2xvdXI0LTEsXHJcbiAgICBwcmVzZXQtMzogbnVsbCxcclxuICAgIHByZXNldC00OiAkY29sb3VyNC02XHJcbik7XHJcbiRoZWFkaW5nLTItY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjEsXHJcbiAgICBwcmVzZXQtMjogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMzogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjFcclxuKTtcclxuJGhlYWRpbmctMi1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDYwMCxcclxuICAgIHByZXNldC0yOiA3MDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogNDAwXHJcbik7XHJcbiRoZWFkaW5nLTItcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDVweCAwLFxyXG4gICAgcHJlc2V0LTM6IDAgMCAyMHB4LFxyXG4gICAgcHJlc2V0LTQ6IDVweCAwXHJcbik7XHJcblxyXG4vLyAtLS0gQ29sbGVjdGlvbnMgLS0tIFxyXG4kYngtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAzNnB4XHJcbik7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTU7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXNpemU6IDIwO1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pO1xyXG4kY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eTogKFxyXG4gICAgZGVmYXVsdDogLjUsXHJcbiAgICBhY3RpdmU6IDFcclxuKTtcclxuXHJcbi8vIC0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciAtLS0tLSBcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50OiAoXHJcbiAgICBjb2xvdXItMTogc2F0dXJhdGUobGlnaHRlbihhZGp1c3QtaHVlKCRjb2xvdXI0LCA0JSksIDMwJSksIDQyJSksXHJcbiAgICBjb2xvdXItMjogc2F0dXJhdGUobGlnaHRlbihhZGp1c3QtaHVlKCRjb2xvdXI0LCA0JSksIDEzJSksIDE3JSlcclxuKTtcclxuXHJcbi8vIC0tLS0gUGljayBOIE1peCAtLS0tLSBcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtY29sb3VyOiAkY29sb3VyNDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCk7IiwiLy8gLS0tLS0gQnJhbmRpbmcgLS0tLS1cclxuXHJcbi8vIElmIHRoZXNlIGdsb2JhbCB2YXJpYWJsZXMgYXJlIG5vdCBhdmFpbGFibGUgdGhlbiBkZWZhdWx0IHRvIHRoZSBmb2xsb3dpbmcsIHRoaXMgd2FzIHB1dCBpbiBkdWUgdG8gYSBjb21wYXRpYmlsaXR5IGlzc3VlIGJldHdlZW4gc2Fzcy1leHRyYWN0IGFuZCBzYXNzLXZhcmlhYmxlcyB3aGVuIGNyZWF0aW5nIHRoZSBtYW5pZmVzdCBmaWxlcy5cclxuJGVtYWlsVGVtcGxhdGU6IGZhbHNlICFkZWZhdWx0O1xyXG4kZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIiAhZGVmYXVsdDtcclxuXHJcbiRkZWJ1ZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRkZWJ1Zy1sZXZlbDogMSAhZGVmYXVsdDtcclxuXHJcbiRzaGFyZWQtY29udGVudC1kaXJlY3Rvcnk6ICcvdGVtcGxhdGUvY29udGVudC8nICsgJGVudmlyb25tZW50ICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvaW1hZ2VzL2ljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnL2NhbGxzLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdoYXphcmQtc3RhdGVtZW50LWljb25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtYnV0dG9ucy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2ltYWdlcy9idXR0b25zLycgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9jc3Mvd2ViZm9udHMvJyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBTaXRlIGNvbG91ciBwYWxldHRlXHJcbi8vVHJhbnNwYXJlbnRcclxuJGNvbG91cjA6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy9XaGl0ZVxyXG4kY29sb3VyMTogI2ZmZmZmZiAhZGVmYXVsdDtcclxuXHJcbi8vQmxhY2tcclxuJGNvbG91cjI6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcblxyXG4vL0dyZXlcclxuJGNvbG91cjM6ICNlZWVlZWUgIWRlZmF1bHQ7XHJcbi8vU0xJR0hUTFkgREFSS0VSIEdSRVlcclxuLy8kY29sb3VyMy0xOiAjZGFkYWRhICFkZWZhdWx0O1xyXG4kY29sb3VyMy0xOiBkYXJrZW4oJGNvbG91cjMsIDglKSAhZGVmYXVsdDtcclxuLy9TbGlnaHRseSBTbGlnaHRseSBEYXJrZXIgR3JleVxyXG4vLyRjb2xvdXIzLTI6ICNiMmIyYjIgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTI6IGRhcmtlbigkY29sb3VyMywgMjUlKSAhZGVmYXVsdDtcclxuLy9EYXJrZXIgR3JleSBcclxuLy8kY29sb3VyMy0zOiAjODg4ODg4ICFkZWZhdWx0O1xyXG4kY29sb3VyMy0zOiBkYXJrZW4oJGNvbG91cjMsIDM1JSkgIWRlZmF1bHQ7XHJcbi8vVmVyeSBMaWdodCBHcmV5XHJcbi8vJGNvbG91cjMtNDogI2NmY2ZjZiAhZGVmYXVsdDtcclxuJGNvbG91cjMtNDogZGFya2VuKCRjb2xvdXIzLCAxNSUpICFkZWZhdWx0O1xyXG4vLyBHcmV5XHJcbi8vJGNvbG91cjMtNTogI2YzZjNmMyAhZGVmYXVsdDtcclxuJGNvbG91cjMtNTogbGlnaHRlbigkY29sb3VyMywgMiUpICFkZWZhdWx0O1xyXG4vLyBEYXJrIEdyZXlcclxuLy8kY29sb3VyMy02OiAjNDQ0NDQ0ICFkZWZhdWx0O1xyXG4kY29sb3VyMy02OiBkYXJrZW4oJGNvbG91cjMsIDY1JSkgIWRlZmF1bHQ7XHJcbi8vIFNsaWdodGx5IHNsaWdodGx5IGRhcmtlciBncmV5LlxyXG4vLyRjb2xvdXIzLTc6ICM3YTdhN2EgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTc6IGRhcmtlbigkY29sb3VyMywgNDUlKSAhZGVmYXVsdDtcclxuXHJcbiRuZXV0cmFsLWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kbmV1dHJhbC1jb2xvdXI6IG1hcC1tZXJnZSgkbmV1dHJhbC1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJG5ldXRyYWwtY29sb3VyKSk7XHJcblxyXG4vL0dyZWVuIFxyXG4kY29sb3VyNDogIzEyODExZiAhZGVmYXVsdDtcclxuJHByaW1hcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkcHJpbWFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHByaW1hcnktY29sb3VyKSk7XHJcbi8vIExJR0hURVIgR1JFRU5cclxuLy8kY29sb3VyNC0xOiAjMjRjYTFjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0xOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDE5JSksIDEwJSkgIWRlZmF1bHQ7XHJcbi8vIERBUktFUiBHUkVFTiBcclxuLy8kY29sb3VyNC0yOiAjNDE5YTRjICFkZWZhdWx0O1xyXG4kY29sb3VyNC0yOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDEyJSksIDI1JSkgIWRlZmF1bHQ7XHJcbi8vIFBhbGVcclxuLy8kY29sb3VyNC0zOiAjNmFhZDcyICFkZWZhdWx0O1xyXG4kY29sb3VyNC0zOiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDIzJSksIDUwJSkgIWRlZmF1bHQ7XHJcbi8vIExpZ2h0aXNoIFBhbGUgR3JlZW4uXHJcbi8vJGNvbG91cjQtNDogI2E4ZDNhNiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNDogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjQsIDQ1JSksIC0xMCUpLCA0NiUpICFkZWZhdWx0O1xyXG4vL0RBUktJU0ggUEFMRSBHUkVFTlxyXG4vLyRjb2xvdXI0LTU6ICM1NGExNWQgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTU6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMTglKSwgMzclKSAhZGVmYXVsdDtcclxuLy8gTGlnaHQgKCB2ZXJ5IHdhc2hlZCBvdXQgKVxyXG4vLyRjb2xvdXI0LTY6ICNkY2Y3ZGIgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTY6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI0LCA2MyUpLCAtMTAlKSwgMjIlKSAhZGVmYXVsdDtcclxuLy8gUXVpdGUgZGFyay5cclxuLy8kY29sb3VyNC03OiAjMDE4MDJiICFkZWZhdWx0O1xyXG4kY29sb3VyNC03OiBzYXR1cmF0ZShhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNCwgMyUpLCAxMyUpLCAyMCUpICFkZWZhdWx0O1xyXG5cclxuLy9PcmFuZ2VcclxuJGNvbG91cjY6ICNmZjZmMjAgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZWNvbmRhcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZWNvbmRhcnktY29sb3VyKSk7XHJcbi8vRGFyayBPcmFuZ2VcclxuLy8kY29sb3VyNi0xOiAjZDE0NjI4ICFkZWZhdWx0O1xyXG4kY29sb3VyNi0xOiBkZXNhdHVyYXRlKGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCAxMiUpLCAtOCUpLCAxMCUpICFkZWZhdWx0O1xyXG4vLyBTbGlnaHRseSBsaWdodGVyIG9yYW5nZVxyXG4vLyRjb2xvdXI2LTI6ICNmZmM0MzkgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTI6IGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNiwgNiUpLCAyMCUpICFkZWZhdWx0O1xyXG4vLyBWZXJ5IGxpZ2h0IG9yYW5nZSBidXQgc2xpZ2h0bHkgZGFya1xyXG4vLyRjb2xvdXI2LTM6ICNmZWI0MDEgIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTM6IGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI2LCA2JSksIDIwJSkgIWRlZmF1bHQ7XHJcbi8vIE5vdCByZWFsbHkgb3JhbmdlIGJ1dCBnb2luZyB0byBwdXQgaXQgaGVyZSBhbnl3YXlcclxuLy8kY29sb3VyNi0zOiAjZmZmMGVhICFkZWZhdWx0O1xyXG4vLyRjb2xvdXI2LTI6IGxpZ2h0ZW4oJGNvbG91cjYsIDM4JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAxIC0tLVxyXG4kYWNjZW50LWNvbG91ci0xOiAoXHJcbiAgICAwOiAjYzAwMDAwXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTE6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0xLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTEpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDIgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTI6IChcclxuICAgIDA6ICMyYjU3OWFcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMjogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMikpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMyAtLS1cclxuJGFjY2VudC1jb2xvdXItMzogKFxyXG4gICAgMDogI2U1YjcwMVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0zOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMywgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0zKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciA0IC0tLVxyXG4kYWNjZW50LWNvbG91ci00OiAoXHJcbiAgICAwOiAjYTIzNGUzXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTQ6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci00LCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTQpKTtcclxuXHJcbi8vIFN1Y2Nlc3NcclxuJHN1Y2Nlc3MtY29sb3VyOiAoXHJcbiAgICAwOiAjMTI4MTFmXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWNvbG91cjogbWFwLW1lcmdlKCRzdWNjZXNzLWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc3VjY2Vzcy1jb2xvdXIpKTtcclxuXHJcbi8vIFdhcm5pbmcgXHJcbiR3YXJuaW5nLWNvbG91cjogKFxyXG4gICAgMDogI2ZmNWUwNVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1jb2xvdXI6IG1hcC1tZXJnZSgkd2FybmluZy1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHdhcm5pbmctY29sb3VyKSk7XHJcblxyXG4vLyBBbGVydFxyXG4kYWxlcnQtY29sb3VyOiAoXHJcbiAgICAwOiAjYjIwYzBjXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1jb2xvdXI6IG1hcC1tZXJnZSgkYWxlcnQtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhbGVydC1jb2xvdXIpKTtcclxuXHJcbi8vJGFsZXJ0LWNvbG91cjogI2IyMGMwYyAhZGVmYXVsdDtcclxuLy8kYWxlcnQtY29sb3VyLTE6ICNmZWU3ZTcgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlzIGlzIGEgaGFjayBhbmQgc2hvdWxkIHVzZSBkZXBhcnRtZW50IGNvbG91cnMuLi4uXHJcbiRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyOiAjNjYzMzk5ICFkZWZhdWx0O1xyXG4kZGVwYXJ0bWVudC13ZWItYmFzZS1jb2xvdXI6ICM1ZjdiMjcgIWRlZmF1bHQ7XHJcbiRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI6ICMzMzY2OTkhZGVmYXVsdDtcclxuXHJcbi8vIFNpdGUgc3R5bGUgY29sb3VyIG92ZXJyaWRlcy5cclxuJHNpdGUtc3R5bGVzLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRm9udHMgLS0tLS0gXHJcbi8vIC0tLSBUeXBncmFwaGd5IC0tLVxyXG4vLyBGb250IEltcG9ydHNcclxuJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydDogKFxyXG4gICAgcHJpbWFyeS1mb250OiBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6MzAwLDQwMCw2MDAsNzAwLDgwMCZkaXNwbGF5PXN3YXBcIiAvL09wZW4gU2Fuc1xyXG4pICFkZWZhdWx0O1xyXG4vLyBMb29wIHRocm91Z2ggZWFjaCBmYW1pbHkgaW1wb3J0aW5nIHRoZW0uXHJcbkBlYWNoICRmb250LWZhbWlseSwgJGxvY2F0aW9uIGluICR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQge1xyXG4gICAgQGltcG9ydCB1cmwoJGxvY2F0aW9uKTtcclxufVxyXG5cclxuLy8gRm9udCBDb25maWd1cmF0aW9uLlxyXG4vLyBXaGVuIHByb3ZpZGluZyBhIGZvbnQgc3RhY2sgZ2l2ZSB0aGUgZGVzaXJlZCBmb250LCB0aGVuIHVzaW5nIHRoZSBzZWNvbmQgcGFyYW10ZXIgYXMgdGhlIGZhbGxiYWNrIGZvciB0aGF0IGZvbnQgd2hpbHN0IGl0cyBsb2FkaW5nIGluICggZS5nLiBBcmlhbCBvciBHZW9sb2dpY2EgKSBhbmQgdGhlbiBcIkFyaWFsXCIgYXMgdGhlIHRoaXJkIGZvciBiZWx0IGFuZCBicmFjZXMuXHJcbiR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXM6IChcclxuICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIilcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRmb250LWZhbGxiYWNrLW1ldHJpY3M6IChcclxuICAgIHByaW1hcnk6IChcclxuICAgICAgICBmYWxsYmFjazogJ0FyaWFsJyxcclxuICAgICAgICBzaXplLWFkanVzdDogMTA5LjA0JSxcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IDEwNi44OCUsXHJcbiAgICAgICAgZGVzY2VudC1vdmVycmlkZTogMjkuMzAlLFxyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEljb25zIC0tLVxyXG4vLyBGb250IEF3ZXNvbWUuXHJcbiRmb250QXdlc29tZUJyYW5kczogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCIgIWRlZmF1bHQ7XHJcbiRmb250QXdlc29tZVNvbGlkOiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWVSZWd1bGFyOiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCIgIWRlZmF1bHQ7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZVwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZFwiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvdjQtc2hpbXNcIjtcclxuXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgLy8gQ29uZmlndXJlIHRoZSBwYWdlIG9mIHRoZSBzdGF0aWMgZm9udCBmaWxlcy5cclxuICAgICRmYS1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRhd2Vzb21lLyc7XHJcbiAgICAvLyBCcmFuZHMgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIEJyYW5kcyc7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLWJyYW5kcy00MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfSBcclxuICAgIFxyXG4gICAgLy8gU29saWQgSWNvbnNcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFNvbGlkJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXNvbGlkLTkwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7IC8vIFRvIHByZXZlbnQgc2hvd2luZyBpbnZpc2libGUgZm9udHMgd2hpbGUgbG9hZGluZyBjdXN0b20gZm9udHMgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kb2NzL2xpZ2h0aG91c2UvcGVyZm9ybWFuY2UvZm9udC1kaXNwbGF5Lz91dG1fc291cmNlPWxpZ2h0aG91c2UmdXRtX21lZGl1bT1kZXZ0b29sc1xyXG4gICAgfSBcclxuICAgIC8vIFJlZ3VsYXIgSWNvbnMgXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBSZWd1bGFyJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtcmVndWxhci00MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9IFxyXG59XHJcblxyXG4vLyBDdXN0b20gaWNvbnMuXHJcbi8vIERlZmF1bHQgZXhwcmVzcyBpY29uIGZvbnQgZmFtaWx5LlxyXG4kZXhwcmVzcy1kZWZhdWx0LWljb25zOiAnZm9udGVsbG8nICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1pY29ucy1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRlbGxvLWV4cHJlc3MvJztcclxuLy8gRGVmYXVsdCBleHByZXNzIGljb25zLlxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIHNyYzogdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8uc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8ud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBTaXRlIHNwZWNpZmljIGljb25zIGZvbnQuXHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTogJ2ZvbnRlbGxvLScgKyAkc2l0ZSAhZGVmYXVsdDtcclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250ZWxsby0nICsgJHNpdGUgKyBcIi9cIiAhZGVmYXVsdDtcclxuLy8gR2V0IHNpdGUgc3BlY2lmYyBpY29uIGZvbnQgZmFtaWx5LlxyXG5AaWYgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgc3JjOiB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcuc3ZnJykgZm9ybWF0KCdzdmcnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH1cclxufVxyXG4vLyBJZiBlbWFpbCB0ZW1wbGF0ZSB0aGVuIGZvcmNlIGZvbnQgZmFtaWx5IHRvIGJlIE9wZW4gU2FucyBkdWUgbm90IGJlaW5nIGFibGUgdG8gaW5qZWN0IGN1c3RvbSBmb250IGZhbWlsaWVzIGludG8gZW1haWwgdGVtcGxhdGVzLlxyXG5AaWYgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgICAgIHByaW1hcnktZm9udDogKFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJBcmlhbFwiKVxyXG4gICAgKTtcclxufVxyXG5cclxuLy8tLS0gQm9yZGVyIFJhZGl1cyBQcmVzZXRzIC0tLVxyXG4kYm9yZGVyUmFkaXVzMTogNXB4ICFkZWZhdWx0O1xyXG4kYm9yZGVyUmFkaXVzMjogKCRib3JkZXJSYWRpdXMxICogNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBUcmFuc2l0aW9uIFRpbWluZ3MgLS0tXHJcbiR0cmFuc2l0aW9uSW50cm86IDAuNnMgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uT3V0cm86IDAuOHMgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBLbm9ja2JhY2sgUHJlc2V0cyAtLS1cclxuJGtub2NrQmFjazE6IDAuNiAhZGVmYXVsdDtcclxuJGtub2NrQmFjazI6IDAuOSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tIEJveCBTaGFkb3dzIC0tLVxyXG4kYm94U2hhZG93MTogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzI6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMykgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3czOiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93NDogMnB4IC0zcHggMjBweCAxcHggcmdiYSgxMiwgMTIsIDEzLCA5JSkgIWRlZmF1bHQ7IiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktYnJhbmRzOiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLWJyYW5kcy00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFiLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYW5kcyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBlYWNoICRuYW1lLCAkaWNvbiBpbiAkZmEtYnJhbmQtaWNvbnMge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skbmFtZX06YmVmb3JlIHsgY29udGVudDogdW5xdW90ZShcIlxcXCIjeyAkaWNvbiB9XFxcIlwiKTsgfVxufVxuIiwiLy8gdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmEtY3NzLXByZWZpeCAgICAgICAgICA6IGZhICFkZWZhdWx0O1xuJGZhLXN0eWxlICAgICAgICAgICAgICAgOiA5MDAgIWRlZmF1bHQ7XG4kZmEtc3R5bGUtZmFtaWx5ICAgICAgICA6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiICFkZWZhdWx0O1xuXG4kZmEtZGlzcGxheSAgICAgICAgICAgICA6IGlubGluZS1ibG9jayAhZGVmYXVsdDtcblxuJGZhLWZ3LXdpZHRoICAgICAgICAgICAgOiBmYS1kaXZpZGUoMjBlbSwgMTYpICFkZWZhdWx0O1xuJGZhLWludmVyc2UgICAgICAgICAgICAgOiAjZmZmICFkZWZhdWx0O1xuXG4kZmEtYm9yZGVyLWNvbG9yICAgICAgICA6ICNlZWUgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXBhZGRpbmcgICAgICA6IC4yZW0gLjI1ZW0gLjE1ZW0gIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXJhZGl1cyAgICAgICA6IC4xZW0gIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXN0eWxlICAgICAgICA6IHNvbGlkICFkZWZhdWx0O1xuJGZhLWJvcmRlci13aWR0aCAgICAgICAgOiAuMDhlbSAhZGVmYXVsdDtcblxuJGZhLXNpemUtc2NhbGUtMnhzICAgICAgOiAxMCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXhzICAgICAgIDogMTIgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1zbSAgICAgICA6IDE0ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtYmFzZSAgICAgOiAxNiAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLWxnICAgICAgIDogMjAgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS14bCAgICAgICA6IDI0ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtMnhsICAgICAgOiAzMiAhZGVmYXVsdDtcblxuJGZhLXNpemVzOiAoXG4gIFwiMnhzXCIgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtMnhzLFxuICBcInhzXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXhzLFxuICBcInNtXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXNtLFxuICBcImxnXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLWxnLFxuICBcInhsXCIgICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLXhsLFxuICBcIjJ4bFwiICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLTJ4bFxuKSAhZGVmYXVsdDtcblxuJGZhLWxpLXdpZHRoICAgICAgICAgICAgOiAyZW0gIWRlZmF1bHQ7XG4kZmEtbGktbWFyZ2luICAgICAgICAgICA6ICRmYS1saS13aWR0aCAqIGZhLWRpdmlkZSg1LCA0KSAhZGVmYXVsdDtcblxuJGZhLXB1bGwtbWFyZ2luICAgICAgICAgOiAuM2VtICFkZWZhdWx0O1xuXG4kZmEtcHJpbWFyeS1vcGFjaXR5ICAgICA6IDEgIWRlZmF1bHQ7XG4kZmEtc2Vjb25kYXJ5LW9wYWNpdHkgICA6IC40ICFkZWZhdWx0O1xuXG4kZmEtc3RhY2stdmVydGljYWwtYWxpZ246IG1pZGRsZSAhZGVmYXVsdDtcbiRmYS1zdGFjay13aWR0aCAgICAgICAgIDogKCRmYS1mdy13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGZhLXN0YWNrLXotaW5kZXggICAgICAgOiBhdXRvICFkZWZhdWx0O1xuXG4kZmEtZm9udC1kaXNwbGF5ICAgICAgICA6IGJsb2NrICFkZWZhdWx0O1xuJGZhLWZvbnQtcGF0aCAgICAgICAgICAgOiBcIi4uL3dlYmZvbnRzXCIgIWRlZmF1bHQ7XG5cbiRmYS12YXItMDogXFwzMDtcbiRmYS12YXItMTogXFwzMTtcbiRmYS12YXItMjogXFwzMjtcbiRmYS12YXItMzogXFwzMztcbiRmYS12YXItNDogXFwzNDtcbiRmYS12YXItNTogXFwzNTtcbiRmYS12YXItNjogXFwzNjtcbiRmYS12YXItNzogXFwzNztcbiRmYS12YXItODogXFwzODtcbiRmYS12YXItOTogXFwzOTtcbiRmYS12YXItZmlsbC1kcmlwOiBcXGY1NzY7XG4kZmEtdmFyLWFycm93cy10by1jaXJjbGU6IFxcZTRiZDtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tcmlnaHQ6IFxcZjEzODtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFxcZjEzODtcbiRmYS12YXItYXQ6IFxcNDA7XG4kZmEtdmFyLXRyYXNoLWNhbjogXFxmMmVkO1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFxcZjAzNDtcbiRmYS12YXItdXNlci14bWFyazogXFxmMjM1O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLW1lc3NhZ2U6IFxcZjI3YTtcbiRmYS12YXItY29tbWVudC1hbHQ6IFxcZjI3YTtcbiRmYS12YXItaW5mbzogXFxmMTI5O1xuJGZhLXZhci1kb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcjogXFxmNDIyO1xuJGZhLXZhci1jb21wcmVzcy1hbHQ6IFxcZjQyMjtcbiRmYS12YXItZXhwbG9zaW9uOiBcXGU0ZTk7XG4kZmEtdmFyLWZpbGUtbGluZXM6IFxcZjE1YztcbiRmYS12YXItZmlsZS1hbHQ6IFxcZjE1YztcbiRmYS12YXItZmlsZS10ZXh0OiBcXGYxNWM7XG4kZmEtdmFyLXdhdmUtc3F1YXJlOiBcXGY4M2U7XG4kZmEtdmFyLXJpbmc6IFxcZjcwYjtcbiRmYS12YXItYnVpbGRpbmctdW46IFxcZTRkOTtcbiRmYS12YXItZGljZS10aHJlZTogXFxmNTI3O1xuJGZhLXZhci1jYWxlbmRhci1kYXlzOiBcXGYwNzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLWNoZWNrOiBcXGU0YWE7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodDogXFxlNGQxO1xuJGZhLXZhci12b2xsZXliYWxsOiBcXGY0NWY7XG4kZmEtdmFyLXZvbGxleWJhbGwtYmFsbDogXFxmNDVmO1xuJGZhLXZhci1hcnJvd3MtdXAtdG8tbGluZTogXFxlNGMyO1xuJGZhLXZhci1zb3J0LWRvd246IFxcZjBkZDtcbiRmYS12YXItc29ydC1kZXNjOiBcXGYwZGQ7XG4kZmEtdmFyLWNpcmNsZS1taW51czogXFxmMDU2O1xuJGZhLXZhci1taW51cy1jaXJjbGU6IFxcZjA1NjtcbiRmYS12YXItZG9vci1vcGVuOiBcXGY1MmI7XG4kZmEtdmFyLXJpZ2h0LWZyb20tYnJhY2tldDogXFxmMmY1O1xuJGZhLXZhci1zaWduLW91dC1hbHQ6IFxcZjJmNTtcbiRmYS12YXItYXRvbTogXFxmNWQyO1xuJGZhLXZhci1zb2FwOiBcXGUwNmU7XG4kZmEtdmFyLWljb25zOiBcXGY4NmQ7XG4kZmEtdmFyLWhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0OiBcXGY4NmQ7XG4kZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2g6IFxcZjUzOTtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS1jaGVjazogXFxlNGM5O1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItZmluZ2VycHJpbnQ6IFxcZjU3NztcbiRmYS12YXItaGFuZC1wb2ludC1yaWdodDogXFxmMGE0O1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLXNlYXJjaC1sb2NhdGlvbjogXFxmNjg5O1xuJGZhLXZhci1mb3J3YXJkLXN0ZXA6IFxcZjA1MTtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLWZhY2Utc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS1iZWFtOiBcXGY1Yjg7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcXGYxMWU7XG4kZmEtdmFyLWZvb3RiYWxsOiBcXGY0NGU7XG4kZmEtdmFyLWZvb3RiYWxsLWJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTZjO1xuJGZhLXZhci1jcm9wOiBcXGYxMjU7XG4kZmEtdmFyLWFuZ2xlcy1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLXVzZXJzLXJlY3RhbmdsZTogXFxlNTk0O1xuJGZhLXZhci1wZW9wbGUtcm9vZjogXFxlNTM3O1xuJGZhLXZhci1wZW9wbGUtbGluZTogXFxlNTM0O1xuJGZhLXZhci1iZWVyLW11Zy1lbXB0eTogXFxmMGZjO1xuJGZhLXZhci1iZWVyOiBcXGYwZmM7XG4kZmEtdmFyLWRpYWdyYW0tcHJlZGVjZXNzb3I6IFxcZTQ3NztcbiRmYS12YXItYXJyb3ctdXAtbG9uZzogXFxmMTc2O1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcXGYxNzY7XG4kZmEtdmFyLWZpcmUtZmxhbWUtc2ltcGxlOiBcXGY0NmE7XG4kZmEtdmFyLWJ1cm46IFxcZjQ2YTtcbiRmYS12YXItcGVyc29uOiBcXGYxODM7XG4kZmEtdmFyLW1hbGU6IFxcZjE4MztcbiRmYS12YXItbGFwdG9wOiBcXGYxMDk7XG4kZmEtdmFyLWZpbGUtY3N2OiBcXGY2ZGQ7XG4kZmEtdmFyLW1lbm9yYWg6IFxcZjY3NjtcbiRmYS12YXItdHJ1Y2stcGxhbmU6IFxcZTU4ZjtcbiRmYS12YXItcmVjb3JkLXZpbnlsOiBcXGY4ZDk7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ncmluLXN0YXJzOiBcXGY1ODc7XG4kZmEtdmFyLWJvbmc6IFxcZjU1YztcbiRmYS12YXItc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nOiBcXGY2N2I7XG4kZmEtdmFyLXBhc3RhZmFyaWFuaXNtOiBcXGY2N2I7XG4kZmEtdmFyLWFycm93LWRvd24tdXAtYWNyb3NzLWxpbmU6IFxcZTRhZjtcbiRmYS12YXItc3Bvb246IFxcZjJlNTtcbiRmYS12YXItdXRlbnNpbC1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci1qYXItd2hlYXQ6IFxcZTUxNztcbiRmYS12YXItZW52ZWxvcGVzLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbC1idWxrOiBcXGY2NzQ7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZWI7XG4kZmEtdmFyLWNpcmNsZS1oOiBcXGY0N2U7XG4kZmEtdmFyLWhvc3BpdGFsLXN5bWJvbDogXFxmNDdlO1xuJGZhLXZhci1wYWdlcjogXFxmODE1O1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItY29udGFjdC1ib29rOiBcXGYyYjk7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFxcZjBjYztcbiRmYS12YXItazogXFw0YjtcbiRmYS12YXItbGFuZG1hcmstZmxhZzogXFxlNTFjO1xuJGZhLXZhci1wZW5jaWw6IFxcZjMwMztcbiRmYS12YXItcGVuY2lsLWFsdDogXFxmMzAzO1xuJGZhLXZhci1iYWNrd2FyZDogXFxmMDRhO1xuJGZhLXZhci1jYXJldC1yaWdodDogXFxmMGRhO1xuJGZhLXZhci1jb21tZW50czogXFxmMDg2O1xuJGZhLXZhci1wYXN0ZTogXFxmMGVhO1xuJGZhLXZhci1maWxlLWNsaXBib2FyZDogXFxmMGVhO1xuJGZhLXZhci1jb2RlLXB1bGwtcmVxdWVzdDogXFxlMTNjO1xuJGZhLXZhci1jbGlwYm9hcmQtbGlzdDogXFxmNDZkO1xuJGZhLXZhci10cnVjay1yYW1wLWJveDogXFxmNGRlO1xuJGZhLXZhci10cnVjay1sb2FkaW5nOiBcXGY0ZGU7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdmlhbC12aXJ1czogXFxlNTk3O1xuJGZhLXZhci1zaGVldC1wbGFzdGljOiBcXGU1NzE7XG4kZmEtdmFyLWJsb2c6IFxcZjc4MTtcbiRmYS12YXItdXNlci1uaW5qYTogXFxmNTA0O1xuJGZhLXZhci1wZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lOiBcXGU1Mzk7XG4kZmEtdmFyLXNjcm9sbC10b3JhaDogXFxmNmEwO1xuJGZhLXZhci10b3JhaDogXFxmNmEwO1xuJGZhLXZhci1icm9vbS1iYWxsOiBcXGY0NTg7XG4kZmEtdmFyLXF1aWRkaXRjaDogXFxmNDU4O1xuJGZhLXZhci1xdWlkZGl0Y2gtYnJvb20tYmFsbDogXFxmNDU4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLWJveC1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItcGVyc29uLWRyb3duaW5nOiBcXGU1NDU7XG4kZmEtdmFyLWFycm93LWRvd24tOS0xOiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOiBcXGY4ODY7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdDogXFxmODg2O1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItc3ByYXktY2FuOiBcXGY1YmQ7XG4kZmEtdmFyLXRydWNrLW1vbnN0ZXI6IFxcZjYzYjtcbiRmYS12YXItdzogXFw1NztcbiRmYS12YXItZWFydGgtYWZyaWNhOiBcXGY1N2M7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1yYWluYm93OiBcXGY3NWI7XG4kZmEtdmFyLWNpcmNsZS1ub3RjaDogXFxmMWNlO1xuJGZhLXZhci10YWJsZXQtc2NyZWVuLWJ1dHRvbjogXFxmM2ZhO1xuJGZhLXZhci10YWJsZXQtYWx0OiBcXGYzZmE7XG4kZmEtdmFyLXBhdzogXFxmMWIwO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci10cm93ZWwtYnJpY2tzOiBcXGU1OGE7XG4kZmEtdmFyLWZhY2UtZmx1c2hlZDogXFxmNTc5O1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWhvc3BpdGFsLXVzZXI6IFxcZjgwZDtcbiRmYS12YXItdGVudC1hcnJvdy1sZWZ0LXJpZ2h0OiBcXGU1N2Y7XG4kZmEtdmFyLWdhdmVsOiBcXGYwZTM7XG4kZmEtdmFyLWxlZ2FsOiBcXGYwZTM7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFxcZjFlNTtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXFxmMTMxO1xuJGZhLXZhci1ib3gtdGlzc3VlOiBcXGUwNWI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFxcZjIxYztcbiRmYS12YXItYmVsbC1jb25jaWVyZ2U6IFxcZjU2MjtcbiRmYS12YXItY29uY2llcmdlLWJlbGw6IFxcZjU2MjtcbiRmYS12YXItcGVuLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlbmNpbC1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW9wbGUtYXJyb3dzOiBcXGUwNjg7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodDogXFxlMDY4O1xuJGZhLXZhci1tYXJzLWFuZC12ZW51cy1idXJzdDogXFxlNTIzO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLXNjaXNzb3JzOiBcXGYwYzQ7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1zdW4tcGxhbnQtd2lsdDogXFxlNTdhO1xuJGZhLXZhci10b2lsZXRzLXBvcnRhYmxlOiBcXGU1ODQ7XG4kZmEtdmFyLWhvY2tleS1wdWNrOiBcXGY0NTM7XG4kZmEtdmFyLXRhYmxlOiBcXGYwY2U7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQ6IFxcZTUyMTtcbiRmYS12YXItdGFjaG9ncmFwaC1kaWdpdGFsOiBcXGY1NjY7XG4kZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaDogXFxmNTY2O1xuJGZhLXZhci11c2Vycy1zbGFzaDogXFxlMDczO1xuJGZhLXZhci1jbG92ZXI6IFxcZTEzOTtcbiRmYS12YXItcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItbWFpbC1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudDogXFxmNjk5O1xuJGZhLXZhci1ob3VzZS1maXJlOiBcXGU1MGM7XG4kZmEtdmFyLXNxdWFyZS1taW51czogXFxmMTQ2O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItaGVsaWNvcHRlcjogXFxmNTMzO1xuJGZhLXZhci1jb21wYXNzOiBcXGYxNGU7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXF1ZXN0aW9uOiBcXGU0ZWY7XG4kZmEtdmFyLWxhcHRvcC1jb2RlOiBcXGY1ZmM7XG4kZmEtdmFyLXN3YXRjaGJvb2s6IFxcZjVjMztcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZTogXFxmNDg1O1xuJGZhLXZhci1iYXJzOiBcXGYwYzk7XG4kZmEtdmFyLW5hdmljb246IFxcZjBjOTtcbiRmYS12YXItcGVvcGxlLWdyb3VwOiBcXGU1MzM7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbmQ6IFxcZjI1MztcbiRmYS12YXItaG91cmdsYXNzLTM6IFxcZjI1MztcbiRmYS12YXItaGVhcnQtY3JhY2s6IFxcZjdhOTtcbiRmYS12YXItaGVhcnQtYnJva2VuOiBcXGY3YTk7XG4kZmEtdmFyLXNxdWFyZS11cC1yaWdodDogXFxmMzYwO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQ6IFxcZjM2MDtcbiRmYS12YXItZmFjZS1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXIta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWZpbG06IFxcZjAwODtcbiRmYS12YXItcnVsZXItaG9yaXpvbnRhbDogXFxmNTQ3O1xuJGZhLXZhci1wZW9wbGUtcm9iYmVyeTogXFxlNTM2O1xuJGZhLXZhci1saWdodGJ1bGI6IFxcZjBlYjtcbiRmYS12YXItY2FyZXQtbGVmdDogXFxmMGQ5O1xuJGZhLXZhci1jaXJjbGUtZXhjbGFtYXRpb246IFxcZjA2YTtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcXGYwNmE7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUteG1hcms6IFxcZTU2ZDtcbiRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0OiBcXGYwOGI7XG4kZmEtdmFyLXNpZ24tb3V0OiBcXGYwOGI7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXFxmMTNhO1xuJGZhLXZhci11bmxvY2sta2V5aG9sZTogXFxmMTNlO1xuJGZhLXZhci11bmxvY2stYWx0OiBcXGYxM2U7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnk6IFxcZjc0MDtcbiRmYS12YXItaGVhZHBob25lcy1zaW1wbGU6IFxcZjU4ZjtcbiRmYS12YXItaGVhZHBob25lcy1hbHQ6IFxcZjU4ZjtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1jaXJjbGUtZG9sbGFyLXRvLXNsb3Q6IFxcZjRiOTtcbiRmYS12YXItZG9uYXRlOiBcXGY0Yjk7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1yb2FkLXNwaWtlczogXFxlNTY4O1xuJGZhLXZhci1maXJlLWJ1cm5lcjogXFxlNGYxO1xuJGZhLXZhci1mbGFnOiBcXGYwMjQ7XG4kZmEtdmFyLWhhbnVraWFoOiBcXGY2ZTY7XG4kZmEtdmFyLWZlYXRoZXI6IFxcZjUyZDtcbiRmYS12YXItdm9sdW1lLWxvdzogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci1jb21tZW50LXNsYXNoOiBcXGY0YjM7XG4kZmEtdmFyLWNsb3VkLXN1bi1yYWluOiBcXGY3NDM7XG4kZmEtdmFyLWNvbXByZXNzOiBcXGYwNjY7XG4kZmEtdmFyLXdoZWF0LWF3bjogXFxlMmNkO1xuJGZhLXZhci13aGVhdC1hbHQ6IFxcZTJjZDtcbiRmYS12YXItYW5raDogXFxmNjQ0O1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNoaWxkOiBcXGU0ZmE7XG4kZmEtdmFyLWFzdGVyaXNrOiBcXDJhO1xuJGZhLXZhci1zcXVhcmUtY2hlY2s6IFxcZjE0YTtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcXGYxNGE7XG4kZmEtdmFyLXBlc2V0YS1zaWduOiBcXGUyMjE7XG4kZmEtdmFyLWhlYWRpbmc6IFxcZjFkYztcbiRmYS12YXItaGVhZGVyOiBcXGYxZGM7XG4kZmEtdmFyLWdob3N0OiBcXGY2ZTI7XG4kZmEtdmFyLWxpc3Q6IFxcZjAzYTtcbiRmYS12YXItbGlzdC1zcXVhcmVzOiBcXGYwM2E7XG4kZmEtdmFyLXNxdWFyZS1waG9uZS1mbGlwOiBcXGY4N2I7XG4kZmEtdmFyLXBob25lLXNxdWFyZS1hbHQ6IFxcZjg3YjtcbiRmYS12YXItY2FydC1wbHVzOiBcXGYyMTc7XG4kZmEtdmFyLWdhbWVwYWQ6IFxcZjExYjtcbiRmYS12YXItY2lyY2xlLWRvdDogXFxmMTkyO1xuJGZhLXZhci1kb3QtY2lyY2xlOiBcXGYxOTI7XG4kZmEtdmFyLWZhY2UtZGl6enk6IFxcZjU2NztcbiRmYS12YXItZGl6enk6IFxcZjU2NztcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrOiBcXGU1MTM7XG4kZmEtdmFyLWNhbXBncm91bmQ6IFxcZjZiYjtcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZnV0Ym9sOiBcXGYxZTM7XG4kZmEtdmFyLWZ1dGJvbC1iYWxsOiBcXGYxZTM7XG4kZmEtdmFyLXNvY2Nlci1iYWxsOiBcXGYxZTM7XG4kZmEtdmFyLXBhaW50YnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItbG9jazogXFxmMDIzO1xuJGZhLXZhci1nYXMtcHVtcDogXFxmNTJmO1xuJGZhLXZhci1ob3QtdHViLXBlcnNvbjogXFxmNTkzO1xuJGZhLXZhci1ob3QtdHViOiBcXGY1OTM7XG4kZmEtdmFyLW1hcC1sb2NhdGlvbjogXFxmNTlmO1xuJGZhLXZhci1tYXAtbWFya2VkOiBcXGY1OWY7XG4kZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyOiBcXGU1MGU7XG4kZmEtdmFyLXRyZWU6IFxcZjFiYjtcbiRmYS12YXItYnJpZGdlLWxvY2s6IFxcZTRjYztcbiRmYS12YXItc2Fjay1kb2xsYXI6IFxcZjgxZDtcbiRmYS12YXItcGVuLXRvLXNxdWFyZTogXFxmMDQ0O1xuJGZhLXZhci1lZGl0OiBcXGYwNDQ7XG4kZmEtdmFyLWNhci1zaWRlOiBcXGY1ZTQ7XG4kZmEtdmFyLXNoYXJlLW5vZGVzOiBcXGYxZTA7XG4kZmEtdmFyLXNoYXJlLWFsdDogXFxmMWUwO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtbWludXM6IFxcZTRmZjtcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFxcZjI1MjtcbiRmYS12YXItaG91cmdsYXNzLTI6IFxcZjI1MjtcbiRmYS12YXItbWljcm9zY29wZTogXFxmNjEwO1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLWJhZy1zaG9wcGluZzogXFxmMjkwO1xuJGZhLXZhci1zaG9wcGluZy1iYWc6IFxcZjI5MDtcbiRmYS12YXItYXJyb3ctZG93bi16LWE6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS1kZXNjOiBcXGY4ODE7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItbWl0dGVuOiBcXGY3YjU7XG4kZmEtdmFyLXBlcnNvbi1yYXlzOiBcXGU1NGQ7XG4kZmEtdmFyLXVzZXJzOiBcXGYwYzA7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXFxmMDcwO1xuJGZhLXZhci1mbGFzay12aWFsOiBcXGU0ZjM7XG4kZmEtdmFyLWhhbmQ6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wYXBlcjogXFxmMjU2O1xuJGZhLXZhci1vbTogXFxmNjc5O1xuJGZhLXZhci13b3JtOiBcXGU1OTk7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS14bWFyazogXFxlNTBiO1xuJGZhLXZhci1wbHVnOiBcXGYxZTY7XG4kZmEtdmFyLWNoZXZyb24tdXA6IFxcZjA3NztcbiRmYS12YXItaGFuZC1zcG9jazogXFxmMjU5O1xuJGZhLXZhci1zdG9wd2F0Y2g6IFxcZjJmMjtcbiRmYS12YXItZmFjZS1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWtpc3M6IFxcZjU5NjtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS14bWFyazogXFxlNGNiO1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlOiBcXGY1ODk7XG4kZmEtdmFyLWNoZXNzLWJpc2hvcDogXFxmNDNhO1xuJGZhLXZhci1mYWNlLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZWFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWFmbmVzczogXFxmMmE0O1xuJGZhLXZhci1oYXJkLW9mLWhlYXJpbmc6IFxcZjJhNDtcbiRmYS12YXItcm9hZC1jaXJjbGUtY2hlY2s6IFxcZTU2NDtcbiRmYS12YXItZGljZS1maXZlOiBcXGY1MjM7XG4kZmEtdmFyLXNxdWFyZS1yc3M6IFxcZjE0MztcbiRmYS12YXItcnNzLXNxdWFyZTogXFxmMTQzO1xuJGZhLXZhci1sYW5kLW1pbmUtb246IFxcZTUxYjtcbiRmYS12YXItaS1jdXJzb3I6IFxcZjI0NjtcbiRmYS12YXItc3RhbXA6IFxcZjViZjtcbiRmYS12YXItc3RhaXJzOiBcXGUyODk7XG4kZmEtdmFyLWk6IFxcNDk7XG4kZmEtdmFyLWhyeXZuaWEtc2lnbjogXFxmNmYyO1xuJGZhLXZhci1ocnl2bmlhOiBcXGY2ZjI7XG4kZmEtdmFyLXBpbGxzOiBcXGY0ODQ7XG4kZmEtdmFyLWZhY2UtZ3Jpbi13aWRlOiBcXGY1ODE7XG4kZmEtdmFyLWdyaW4tYWx0OiBcXGY1ODE7XG4kZmEtdmFyLXRvb3RoOiBcXGY1Yzk7XG4kZmEtdmFyLXY6IFxcNTY7XG4kZmEtdmFyLWJhbmdsYWRlc2hpLXRha2Etc2lnbjogXFxlMmU2O1xuJGZhLXZhci1iaWN5Y2xlOiBcXGYyMDY7XG4kZmEtdmFyLXN0YWZmLXNuYWtlOiBcXGU1Nzk7XG4kZmEtdmFyLXJvZC1hc2NsZXBpdXM6IFxcZTU3OTtcbiRmYS12YXItcm9kLXNuYWtlOiBcXGU1Nzk7XG4kZmEtdmFyLXN0YWZmLWFlc2N1bGFwaXVzOiBcXGU1Nzk7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaDogXFxlMDYyO1xuJGZhLXZhci10cnVjay1tZWRpY2FsOiBcXGYwZjk7XG4kZmEtdmFyLWFtYnVsYW5jZTogXFxmMGY5O1xuJGZhLXZhci13aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1OTg7XG4kZmEtdmFyLXNub3dtYW46IFxcZjdkMDtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1yb2FkLWJhcnJpZXI6IFxcZTU2MjtcbiRmYS12YXItc2Nob29sOiBcXGY1NDk7XG4kZmEtdmFyLWlnbG9vOiBcXGY3YWU7XG4kZmEtdmFyLWpvaW50OiBcXGY1OTU7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcXGYxMDU7XG4kZmEtdmFyLWhvcnNlOiBcXGY2ZjA7XG4kZmEtdmFyLXE6IFxcNTE7XG4kZmEtdmFyLWc6IFxcNDc7XG4kZmEtdmFyLW5vdGVzLW1lZGljYWw6IFxcZjQ4MTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGFsZjogXFxmMmM5O1xuJGZhLXZhci10ZW1wZXJhdHVyZS0yOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTI6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjogXFxmMmM5O1xuJGZhLXZhci1kb25nLXNpZ246IFxcZTE2OTtcbiRmYS12YXItY2Fwc3VsZXM6IFxcZjQ2YjtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvby1ib2x0OiBcXGY3NWE7XG4kZmEtdmFyLWZhY2UtZnJvd24tb3BlbjogXFxmNTdhO1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWhhbmQtcG9pbnQtdXA6IFxcZjBhNjtcbiRmYS12YXItbW9uZXktYmlsbDogXFxmMGQ2O1xuJGZhLXZhci1ib29rbWFyazogXFxmMDJlO1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcXGYwMzk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLWhlbG1ldC11bjogXFxlNTAzO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1iYWNvbjogXFxmN2U1O1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItYXJyb3ctdXAtZnJvbS1icmFja2V0OiBcXGUwOWE7XG4kZmEtdmFyLWZvbGRlcjogXFxmMDdiO1xuJGZhLXZhci1mb2xkZXItYmxhbms6IFxcZjA3YjtcbiRmYS12YXItZmlsZS13YXZlZm9ybTogXFxmNDc4O1xuJGZhLXZhci1maWxlLW1lZGljYWwtYWx0OiBcXGY0Nzg7XG4kZmEtdmFyLXJhZGlhdGlvbjogXFxmN2I5O1xuJGZhLXZhci1jaGFydC1zaW1wbGU6IFxcZTQ3MztcbiRmYS12YXItbWFycy1zdHJva2U6IFxcZjIyOTtcbiRmYS12YXItdmlhbDogXFxmNDkyO1xuJGZhLXZhci1nYXVnZTogXFxmNjI0O1xuJGZhLXZhci1kYXNoYm9hcmQ6IFxcZjYyNDtcbiRmYS12YXItZ2F1Z2UtbWVkOiBcXGY2MjQ7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2U6IFxcZjYyNDtcbiRmYS12YXItd2FuZC1tYWdpYy1zcGFya2xlczogXFxlMmNhO1xuJGZhLXZhci1tYWdpYy13YW5kLXNwYXJrbGVzOiBcXGUyY2E7XG4kZmEtdmFyLWU6IFxcNDU7XG4kZmEtdmFyLXBlbi1jbGlwOiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1hbHQ6IFxcZjMwNTtcbiRmYS12YXItYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGNhO1xuJGZhLXZhci11c2VyOiBcXGYwMDc7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUtY2hlY2s6IFxcZTU2YjtcbiRmYS12YXItZHVtcHN0ZXI6IFxcZjc5MztcbiRmYS12YXItdmFuLXNodXR0bGU6IFxcZjViNjtcbiRmYS12YXItc2h1dHRsZS12YW46IFxcZjViNjtcbiRmYS12YXItYnVpbGRpbmctdXNlcjogXFxlNGRhO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdDogXFxmMTkxO1xuJGZhLXZhci1oaWdobGlnaHRlcjogXFxmNTkxO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXItYnVsbGhvcm46IFxcZjBhMTtcbiRmYS12YXItZ2xvYmU6IFxcZjBhYztcbiRmYS12YXItc3luYWdvZ3VlOiBcXGY2OWI7XG4kZmEtdmFyLXBlcnNvbi1oYWxmLWRyZXNzOiBcXGU1NDg7XG4kZmEtdmFyLXJvYWQtYnJpZGdlOiBcXGU1NjM7XG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcXGYxMjQ7XG4kZmEtdmFyLWM6IFxcNDM7XG4kZmEtdmFyLXRhYmxldC1idXR0b246IFxcZjEwYTtcbiRmYS12YXItYnVpbGRpbmctbG9jazogXFxlNGQ2O1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmU6IFxcZjUzYTtcbiRmYS12YXItY2hhcnQtYXJlYTogXFxmMWZlO1xuJGZhLXZhci1hcmVhLWNoYXJ0OiBcXGYxZmU7XG4kZmEtdmFyLWhvdXNlLWZsYWc6IFxcZTUwZDtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1taW51czogXFxlNTQwO1xuJGZhLXZhci1iYW46IFxcZjA1ZTtcbiRmYS12YXItY2FuY2VsOiBcXGYwNWU7XG4kZmEtdmFyLWNhbWVyYS1yb3RhdGU6IFxcZTBkODtcbiRmYS12YXItc3ByYXktY2FuLXNwYXJrbGVzOiBcXGY1ZDA7XG4kZmEtdmFyLWFpci1mcmVzaGVuZXI6IFxcZjVkMDtcbiRmYS12YXItc3RhcjogXFxmMDA1O1xuJGZhLXZhci1yZXBlYXQ6IFxcZjM2MztcbiRmYS12YXItY3Jvc3M6IFxcZjY1NDtcbiRmYS12YXItYm94OiBcXGY0NjY7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFxcZjIyODtcbiRmYS12YXItYXJyb3ctcG9pbnRlcjogXFxmMjQ1O1xuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW1heGltaXplOiBcXGYzMWU7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0OiBcXGYzMWU7XG4kZmEtdmFyLWNoYXJnaW5nLXN0YXRpb246IFxcZjVlNztcbiRmYS12YXItc2hhcGVzOiBcXGY2MWY7XG4kZmEtdmFyLXRyaWFuZ2xlLWNpcmNsZS1zcXVhcmU6IFxcZjYxZjtcbiRmYS12YXItc2h1ZmZsZTogXFxmMDc0O1xuJGZhLXZhci1yYW5kb206IFxcZjA3NDtcbiRmYS12YXItcGVyc29uLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1tb2JpbGUtcmV0cm86IFxcZTUyNztcbiRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbDogXFxmN2E1O1xuJGZhLXZhci1zcGlkZXI6IFxcZjcxNztcbiRmYS12YXItaGFuZHMtYm91bmQ6IFxcZTRmOTtcbiRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcjogXFxmNTcxO1xuJGZhLXZhci1wbGFuZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU1NjtcbiRmYS12YXIteC1yYXk6IFxcZjQ5NztcbiRmYS12YXItc3BlbGwtY2hlY2s6IFxcZjg5MTtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItY29tcHV0ZXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tYnJhY2tldDogXFxmMDkwO1xuJGZhLXZhci1zaWduLWluOiBcXGYwOTA7XG4kZmEtdmFyLXNob3Atc2xhc2g6IFxcZTA3MDtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXNlcnZlcjogXFxmMjMzO1xuJGZhLXZhci12aXJ1cy1jb3ZpZC1zbGFzaDogXFxlNGE5O1xuJGZhLXZhci1zaG9wLWxvY2s6IFxcZTRhNTtcbiRmYS12YXItaG91cmdsYXNzLXN0YXJ0OiBcXGYyNTE7XG4kZmEtdmFyLWhvdXJnbGFzcy0xOiBcXGYyNTE7XG4kZmEtdmFyLWJsZW5kZXItcGhvbmU6IFxcZjZiNjtcbiRmYS12YXItYnVpbGRpbmctd2hlYXQ6IFxcZTRkYjtcbiRmYS12YXItcGVyc29uLWJyZWFzdGZlZWRpbmc6IFxcZTUzYTtcbiRmYS12YXItcmlnaHQtdG8tYnJhY2tldDogXFxmMmY2O1xuJGZhLXZhci1zaWduLWluLWFsdDogXFxmMmY2O1xuJGZhLXZhci12ZW51czogXFxmMjIxO1xuJGZhLXZhci1wYXNzcG9ydDogXFxmNWFiO1xuJGZhLXZhci1oZWFydC1wdWxzZTogXFxmMjFlO1xuJGZhLXZhci1oZWFydGJlYXQ6IFxcZjIxZTtcbiRmYS12YXItcGVvcGxlLWNhcnJ5LWJveDogXFxmNGNlO1xuJGZhLXZhci1wZW9wbGUtY2Fycnk6IFxcZjRjZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtaGlnaDogXFxmNzY5O1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItY3Jvd246IFxcZjUyMTtcbiRmYS12YXItd2VpZ2h0LWhhbmdpbmc6IFxcZjVjZDtcbiRmYS12YXIteG1hcmtzLWxpbmVzOiBcXGU1OWE7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLXdlaWdodC1zY2FsZTogXFxmNDk2O1xuJGZhLXZhci13ZWlnaHQ6IFxcZjQ5NjtcbiRmYS12YXItdXNlci1ncm91cDogXFxmNTAwO1xuJGZhLXZhci11c2VyLWZyaWVuZHM6IFxcZjUwMDtcbiRmYS12YXItYXJyb3ctdXAtYS16OiBcXGYxNWU7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXA6IFxcZjE1ZTtcbiRmYS12YXItY2hlc3Mta25pZ2h0OiBcXGY0NDE7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcXGYxOTM7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA6IFxcZjBhYTtcbiRmYS12YXItdG9nZ2xlLW9uOiBcXGYyMDU7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nOiBcXGY1NTQ7XG4kZmEtdmFyLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItbDogXFw0YztcbiRmYS12YXItZmlyZTogXFxmMDZkO1xuJGZhLXZhci1iZWQtcHVsc2U6IFxcZjQ4NztcbiRmYS12YXItcHJvY2VkdXJlczogXFxmNDg3O1xuJGZhLXZhci1zaHV0dGxlLXNwYWNlOiBcXGYxOTc7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItZmFjZS1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1mb2xkZXItb3BlbjogXFxmMDdjO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtcGx1czogXFxlNTAwO1xuJGZhLXZhci1jb2RlLWZvcms6IFxcZTEzYjtcbiRmYS12YXItY2l0eTogXFxmNjRmO1xuJGZhLXZhci1taWNyb3Bob25lLWxpbmVzOiBcXGYzYzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0OiBcXGYzYzk7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLWNvbG9uLXNpZ246IFxcZTE0MDtcbiRmYS12YXItaGVhZHNldDogXFxmNTkwO1xuJGZhLXZhci1zdG9yZS1zbGFzaDogXFxlMDcxO1xuJGZhLXZhci1yb2FkLWNpcmNsZS14bWFyazogXFxlNTY2O1xuJGZhLXZhci11c2VyLW1pbnVzOiBcXGY1MDM7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXVwOiBcXGYyMmE7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItY2hhbXBhZ25lLWdsYXNzZXM6IFxcZjc5ZjtcbiRmYS12YXItZ2xhc3MtY2hlZXJzOiBcXGY3OWY7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1ob3VzZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUwYTtcbiRmYS12YXItZmlsZS1hcnJvdy11cDogXFxmNTc0O1xuJGZhLXZhci1maWxlLXVwbG9hZDogXFxmNTc0O1xuJGZhLXZhci13aWZpOiBcXGYxZWI7XG4kZmEtdmFyLXdpZmktMzogXFxmMWViO1xuJGZhLXZhci13aWZpLXN0cm9uZzogXFxmMWViO1xuJGZhLXZhci1iYXRoOiBcXGYyY2Q7XG4kZmEtdmFyLWJhdGh0dWI6IFxcZjJjZDtcbiRmYS12YXItdW5kZXJsaW5lOiBcXGYwY2Q7XG4kZmEtdmFyLXVzZXItcGVuOiBcXGY0ZmY7XG4kZmEtdmFyLXVzZXItZWRpdDogXFxmNGZmO1xuJGZhLXZhci1zaWduYXR1cmU6IFxcZjViNztcbiRmYS12YXItc3Ryb29wd2FmZWw6IFxcZjU1MTtcbiRmYS12YXItYm9sZDogXFxmMDMyO1xuJGZhLXZhci1hbmNob3ItbG9jazogXFxlNGFkO1xuJGZhLXZhci1idWlsZGluZy1uZ286IFxcZTRkNztcbiRmYS12YXItbWFuYXQtc2lnbjogXFxlMWQ1O1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItYm9yZGVyLXRvcC1sZWZ0OiBcXGY4NTM7XG4kZmEtdmFyLWJvcmRlci1zdHlsZTogXFxmODUzO1xuJGZhLXZhci1tYXAtbG9jYXRpb24tZG90OiBcXGY1YTA7XG4kZmEtdmFyLW1hcC1tYXJrZWQtYWx0OiBcXGY1YTA7XG4kZmEtdmFyLWplZGk6IFxcZjY2OTtcbiRmYS12YXItc3F1YXJlLXBvbGwtdmVydGljYWw6IFxcZjY4MTtcbiRmYS12YXItcG9sbDogXFxmNjgxO1xuJGZhLXZhci1tdWctaG90OiBcXGY3YjY7XG4kZmEtdmFyLWNhci1iYXR0ZXJ5OiBcXGY1ZGY7XG4kZmEtdmFyLWJhdHRlcnktY2FyOiBcXGY1ZGY7XG4kZmEtdmFyLWdpZnQ6IFxcZjA2YjtcbiRmYS12YXItZGljZS10d286IFxcZjUyODtcbiRmYS12YXItY2hlc3MtcXVlZW46IFxcZjQ0NTtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtY2hlY2s6IFxcZTRkMjtcbiRmYS12YXItcGVyc29uLWNoYWxrYm9hcmQ6IFxcZTUzZDtcbiRmYS12YXItbWFycy1zdHJva2UtcmlnaHQ6IFxcZjIyYjtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXFxmMjJiO1xuJGZhLXZhci1oYW5kLWJhY2stZmlzdDogXFxmMjU1O1xuJGZhLXZhci1oYW5kLXJvY2s6IFxcZjI1NTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS11cDogXFxmMTUxO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLXdhdGVyOiBcXGU0ZTQ7XG4kZmEtdmFyLWNoYXJ0LWJhcjogXFxmMDgwO1xuJGZhLXZhci1iYXItY2hhcnQ6IFxcZjA4MDtcbiRmYS12YXItaGFuZHMtYnViYmxlczogXFxlMDVlO1xuJGZhLXZhci1oYW5kcy13YXNoOiBcXGUwNWU7XG4kZmEtdmFyLWxlc3MtdGhhbi1lcXVhbDogXFxmNTM3O1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci1leWUtbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcXGYyYTg7XG4kZmEtdmFyLWNyb3c6IFxcZjUyMDtcbiRmYS12YXItc2FpbGJvYXQ6IFxcZTQ0NTtcbiRmYS12YXItd2luZG93LXJlc3RvcmU6IFxcZjJkMjtcbiRmYS12YXItc3F1YXJlLXBsdXM6IFxcZjBmZTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItdG9yaWktZ2F0ZTogXFxmNmExO1xuJGZhLXZhci1mcm9nOiBcXGY1MmU7XG4kZmEtdmFyLWJ1Y2tldDogXFxlNGNmO1xuJGZhLXZhci1pbWFnZTogXFxmMDNlO1xuJGZhLXZhci1taWNyb3Bob25lOiBcXGYxMzA7XG4kZmEtdmFyLWNvdzogXFxmNmM4O1xuJGZhLXZhci1jYXJldC11cDogXFxmMGQ4O1xuJGZhLXZhci1zY3Jld2RyaXZlcjogXFxmNTRhO1xuJGZhLXZhci1mb2xkZXItY2xvc2VkOiBcXGUxODU7XG4kZmEtdmFyLWhvdXNlLXRzdW5hbWk6IFxcZTUxNTtcbiRmYS12YXItc3F1YXJlLW5maTogXFxlNTc2O1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlcjogXFxlNGI1O1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzOiBcXGY1N2I7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0OiBcXGY1N2I7XG4kZmEtdmFyLXJvdGF0ZS1sZWZ0OiBcXGYyZWE7XG4kZmEtdmFyLXJvdGF0ZS1iYWNrOiBcXGYyZWE7XG4kZmEtdmFyLXJvdGF0ZS1iYWNrd2FyZDogXFxmMmVhO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci10YWJsZS1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWNvbHVtbnM6IFxcZjBkYjtcbiRmYS12YXItbGVtb246IFxcZjA5NDtcbiRmYS12YXItaGVhZC1zaWRlLW1hc2s6IFxcZTA2MztcbiRmYS12YXItaGFuZHNoYWtlOiBcXGYyYjU7XG4kZmEtdmFyLWdlbTogXFxmM2E1O1xuJGZhLXZhci1kb2xseTogXFxmNDcyO1xuJGZhLXZhci1kb2xseS1ib3g6IFxcZjQ3MjtcbiRmYS12YXItc21va2luZzogXFxmNDhkO1xuJGZhLXZhci1taW5pbWl6ZTogXFxmNzhjO1xuJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0OiBcXGY3OGM7XG4kZmEtdmFyLW1vbnVtZW50OiBcXGY1YTY7XG4kZmEtdmFyLXNub3dwbG93OiBcXGY3ZDI7XG4kZmEtdmFyLWFuZ2xlcy1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItY2FubmFiaXM6IFxcZjU1ZjtcbiRmYS12YXItY2lyY2xlLXBsYXk6IFxcZjE0NDtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItdGFibGV0czogXFxmNDkwO1xuJGZhLXZhci1ldGhlcm5ldDogXFxmNzk2O1xuJGZhLXZhci1ldXJvLXNpZ246IFxcZjE1MztcbiRmYS12YXItZXVyOiBcXGYxNTM7XG4kZmEtdmFyLWV1cm86IFxcZjE1MztcbiRmYS12YXItY2hhaXI6IFxcZjZjMDtcbiRmYS12YXItY2lyY2xlLWNoZWNrOiBcXGYwNTg7XG4kZmEtdmFyLWNoZWNrLWNpcmNsZTogXFxmMDU4O1xuJGZhLXZhci1jaXJjbGUtc3RvcDogXFxmMjhkO1xuJGZhLXZhci1zdG9wLWNpcmNsZTogXFxmMjhkO1xuJGZhLXZhci1jb21wYXNzLWRyYWZ0aW5nOiBcXGY1Njg7XG4kZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3M6IFxcZjU2ODtcbiRmYS12YXItcGxhdGUtd2hlYXQ6IFxcZTU1YTtcbiRmYS12YXItaWNpY2xlczogXFxmN2FkO1xuJGZhLXZhci1wZXJzb24tc2hlbHRlcjogXFxlNTRmO1xuJGZhLXZhci1uZXV0ZXI6IFxcZjIyYztcbiRmYS12YXItaWQtYmFkZ2U6IFxcZjJjMTtcbiRmYS12YXItbWFya2VyOiBcXGY1YTE7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtYmVhbTogXFxmNTlhO1xuJGZhLXZhci1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWhlbGljb3B0ZXItc3ltYm9sOiBcXGU1MDI7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tdXA6IFxcZjEzOTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA6IFxcZjEzOTtcbiRmYS12YXItbGFyaS1zaWduOiBcXGUxYzg7XG4kZmEtdmFyLXZvbGNhbm86IFxcZjc3MDtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQ6IFxcZTU1MztcbiRmYS12YXItc3Rlcmxpbmctc2lnbjogXFxmMTU0O1xuJGZhLXZhci1nYnA6IFxcZjE1NDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci12aXJ1c2VzOiBcXGUwNzY7XG4kZmEtdmFyLXNxdWFyZS1wZXJzb24tY29uZmluZWQ6IFxcZTU3NztcbiRmYS12YXItdXNlci10aWU6IFxcZjUwODtcbiRmYS12YXItYXJyb3ctZG93bi1sb25nOiBcXGYxNzU7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXFxmMTc1O1xuJGZhLXZhci10ZW50LWFycm93LWRvd24tdG8tbGluZTogXFxlNTdlO1xuJGZhLXZhci1jZXJ0aWZpY2F0ZTogXFxmMGEzO1xuJGZhLXZhci1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFxcZjEyMjtcbiRmYS12YXItc3VpdGNhc2U6IFxcZjBmMjtcbiRmYS12YXItcGVyc29uLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2thdGluZzogXFxmN2M1O1xuJGZhLXZhci1maWx0ZXItY2lyY2xlLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdW5uZWwtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXFxmMDgzO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctZG93bjogXFxmMGFiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjogXFxmMGFiO1xuJGZhLXZhci1maWxlLWltcG9ydDogXFxmNTZmO1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1maWxlOiBcXGY1NmY7XG4kZmEtdmFyLXNxdWFyZS1hcnJvdy11cC1yaWdodDogXFxmMTRjO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZTogXFxmMTRjO1xuJGZhLXZhci1ib3gtb3BlbjogXFxmNDllO1xuJGZhLXZhci1zY3JvbGw6IFxcZjcwZTtcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLWxvY2F0aW9uLXBpbi1sb2NrOiBcXGU1MWY7XG4kZmEtdmFyLXBhdXNlOiBcXGYwNGM7XG4kZmEtdmFyLWhpbGwtYXZhbGFuY2hlOiBcXGU1MDc7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWVtcHR5OiBcXGYyY2I7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTA6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMDogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci1ib21iOiBcXGYxZTI7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWNvbnRhY3QtY2FyZDogXFxmMmJiO1xuJGZhLXZhci12Y2FyZDogXFxmMmJiO1xuJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLWZsaXA6IFxcZjUxNjtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodDogXFxmNTE2O1xuJGZhLXZhci1zdWJzY3JpcHQ6IFxcZjEyYztcbiRmYS12YXItZGlhbW9uZC10dXJuLXJpZ2h0OiBcXGY1ZWI7XG4kZmEtdmFyLWRpcmVjdGlvbnM6IFxcZjVlYjtcbiRmYS12YXItYnVyc3Q6IFxcZTRkYztcbiRmYS12YXItaG91c2UtbGFwdG9wOiBcXGUwNjY7XG4kZmEtdmFyLWxhcHRvcC1ob3VzZTogXFxlMDY2O1xuJGZhLXZhci1mYWNlLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLXRpcmVkOiBcXGY1Yzg7XG4kZmEtdmFyLW1vbmV5LWJpbGxzOiBcXGUxZjM7XG4kZmEtdmFyLXNtb2c6IFxcZjc1ZjtcbiRmYS12YXItY3J1dGNoOiBcXGY3Zjc7XG4kZmEtdmFyLWNsb3VkLWFycm93LXVwOiBcXGYwZWU7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZDogXFxmMGVlO1xuJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0OiBcXGYwZWU7XG4kZmEtdmFyLXBhbGV0dGU6IFxcZjUzZjtcbiRmYS12YXItYXJyb3dzLXR1cm4tcmlnaHQ6IFxcZTRjMDtcbiRmYS12YXItdmVzdDogXFxlMDg1O1xuJGZhLXZhci1mZXJyeTogXFxlNGVhO1xuJGZhLXZhci1hcnJvd3MtZG93bi10by1wZW9wbGU6IFxcZTRiOTtcbiRmYS12YXItc2VlZGxpbmc6IFxcZjRkODtcbiRmYS12YXItc3Byb3V0OiBcXGY0ZDg7XG4kZmEtdmFyLWxlZnQtcmlnaHQ6IFxcZjMzNztcbiRmYS12YXItYXJyb3dzLWFsdC1oOiBcXGYzMzc7XG4kZmEtdmFyLWJveGVzLXBhY2tpbmc6IFxcZTRjNztcbiRmYS12YXItY2lyY2xlLWFycm93LWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItZ3JvdXAtYXJyb3dzLXJvdGF0ZTogXFxlNGY2O1xuJGZhLXZhci1ib3dsLWZvb2Q6IFxcZTRjNjtcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1hcnJvdy1kb3duLXdpZGUtc2hvcnQ6IFxcZjE2MDtcbiRmYS12YXItc29ydC1hbW91bnQtYXNjOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd246IFxcZjE2MDtcbiRmYS12YXItY2xvdWQtYm9sdDogXFxmNzZjO1xuJGZhLXZhci10aHVuZGVyc3Rvcm06IFxcZjc2YztcbiRmYS12YXItdGV4dC1zbGFzaDogXFxmODdkO1xuJGZhLXZhci1yZW1vdmUtZm9ybWF0OiBcXGY4N2Q7XG4kZmEtdmFyLWZhY2Utc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLWZpbGUtd29yZDogXFxmMWMyO1xuJGZhLXZhci1maWxlLXBvd2VycG9pbnQ6IFxcZjFjNDtcbiRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQ6IFxcZjA3ZTtcbiRmYS12YXItYXJyb3dzLWg6IFxcZjA3ZTtcbiRmYS12YXItaG91c2UtbG9jazogXFxlNTEwO1xuJGZhLXZhci1jbG91ZC1hcnJvdy1kb3duOiBcXGYwZWQ7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcXGYwZWQ7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdDogXFxmMGVkO1xuJGZhLXZhci1jaGlsZHJlbjogXFxlNGUxO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWJsYWNrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItdXNlci1sYXJnZS1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcXGYyYjY7XG4kZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUtc2xhc2g6IFxcZTA1ZjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1tYXR0cmVzcy1waWxsb3c6IFxcZTUyNTtcbiRmYS12YXItZ3VhcmFuaS1zaWduOiBcXGUxOWE7XG4kZmEtdmFyLWFycm93cy1yb3RhdGU6IFxcZjAyMTtcbiRmYS12YXItcmVmcmVzaDogXFxmMDIxO1xuJGZhLXZhci1zeW5jOiBcXGYwMjE7XG4kZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyOiBcXGYxMzQ7XG4kZmEtdmFyLWNydXplaXJvLXNpZ246IFxcZTE1MjtcbiRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsOiBcXGY1MzI7XG4kZmEtdmFyLXNoaWVsZC1oYWx2ZWQ6IFxcZjNlZDtcbiRmYS12YXItc2hpZWxkLWFsdDogXFxmM2VkO1xuJGZhLXZhci1ib29rLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLXZpcnVzOiBcXGUwNzQ7XG4kZmEtdmFyLWVudmVsb3BlLWNpcmNsZS1jaGVjazogXFxlNGU4O1xuJGZhLXZhci1sYXllci1ncm91cDogXFxmNWZkO1xuJGZhLXZhci1hcnJvd3MtdG8tZG90OiBcXGU0YmU7XG4kZmEtdmFyLWFyY2h3YXk6IFxcZjU1NztcbiRmYS12YXItaGVhcnQtY2lyY2xlLWNoZWNrOiBcXGU0ZmQ7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktY3JhY2s6IFxcZjZmMTtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWZpbGUtemlwcGVyOiBcXGYxYzY7XG4kZmEtdmFyLWZpbGUtYXJjaGl2ZTogXFxmMWM2O1xuJGZhLXZhci1zcXVhcmU6IFxcZjBjODtcbiRmYS12YXItbWFydGluaS1nbGFzcy1lbXB0eTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pOiBcXGYwMDA7XG4kZmEtdmFyLWNvdWNoOiBcXGY0Yjg7XG4kZmEtdmFyLWNlZGktc2lnbjogXFxlMGRmO1xuJGZhLXZhci1pdGFsaWM6IFxcZjAzMztcbiRmYS12YXItY2h1cmNoOiBcXGY1MWQ7XG4kZmEtdmFyLWNvbW1lbnRzLWRvbGxhcjogXFxmNjUzO1xuJGZhLXZhci1kZW1vY3JhdDogXFxmNzQ3O1xuJGZhLXZhci16OiBcXDVhO1xuJGZhLXZhci1wZXJzb24tc2tpaW5nOiBcXGY3Yzk7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1yb2FkLWxvY2s6IFxcZTU2NztcbiRmYS12YXItYTogXFw0MTtcbiRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctZG93bjogXFxlMDNmO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLWZlYXRoZXItcG9pbnRlZDogXFxmNTZiO1xuJGZhLXZhci1mZWF0aGVyLWFsdDogXFxmNTZiO1xuJGZhLXZhci1wOiBcXDUwO1xuJGZhLXZhci1zbm93Zmxha2U6IFxcZjJkYztcbiRmYS12YXItbmV3c3BhcGVyOiBcXGYxZWE7XG4kZmEtdmFyLXJlY3RhbmdsZS1hZDogXFxmNjQxO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWZpbHRlci1jaXJjbGUteG1hcms6IFxcZTE3YjtcbiRmYS12YXItbG9jdXN0OiBcXGU1MjA7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItdW5zb3J0ZWQ6IFxcZjBkYztcbiRmYS12YXItbGlzdC1vbDogXFxmMGNiO1xuJGZhLXZhci1saXN0LTEtMjogXFxmMGNiO1xuJGZhLXZhci1saXN0LW51bWVyaWM6IFxcZjBjYjtcbiRmYS12YXItcGVyc29uLWRyZXNzLWJ1cnN0OiBcXGU1NDQ7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWRvbGxhcjogXFxmNTNkO1xuJGZhLXZhci1tb25leS1jaGVjay1hbHQ6IFxcZjUzZDtcbiRmYS12YXItdmVjdG9yLXNxdWFyZTogXFxmNWNiO1xuJGZhLXZhci1icmVhZC1zbGljZTogXFxmN2VjO1xuJGZhLXZhci1sYW5ndWFnZTogXFxmMWFiO1xuJGZhLXZhci1mYWNlLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXDNmO1xuJGZhLXZhci1maWxlLXNpZ25hdHVyZTogXFxmNTczO1xuJGZhLXZhci11cC1kb3duLWxlZnQtcmlnaHQ6IFxcZjBiMjtcbiRmYS12YXItYXJyb3dzLWFsdDogXFxmMGIyO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LXVzZXI6IFxcZTA2NTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1tb25leS1jaGVjazogXFxmNTNjO1xuJGZhLXZhci1zdGFyLWhhbGYtc3Ryb2tlOiBcXGY1YzA7XG4kZmEtdmFyLXN0YXItaGFsZi1hbHQ6IFxcZjVjMDtcbiRmYS12YXItY29kZTogXFxmMTIxO1xuJGZhLXZhci13aGlza2V5LWdsYXNzOiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXk6IFxcZjdhMDtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZDM7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtY2hhcnQ6IFxcZTUyMjtcbiRmYS12YXItYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmU6IFxcZjA4ZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluazogXFxmMDhlO1xuJGZhLXZhci1jdWJlcy1zdGFja2VkOiBcXGU0ZTY7XG4kZmEtdmFyLXdvbi1zaWduOiBcXGYxNTk7XG4kZmEtdmFyLWtydzogXFxmMTU5O1xuJGZhLXZhci13b246IFxcZjE1OTtcbiRmYS12YXItdmlydXMtY292aWQ6IFxcZTRhODtcbiRmYS12YXItYXVzdHJhbC1zaWduOiBcXGUwYTk7XG4kZmEtdmFyLWY6IFxcNDY7XG4kZmEtdmFyLWxlYWY6IFxcZjA2YztcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci10YXhpOiBcXGYxYmE7XG4kZmEtdmFyLWNhYjogXFxmMWJhO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXBsdXM6IFxcZTU0MTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLXBpZS1jaGFydDogXFxmMjAwO1xuJGZhLXZhci1ib2x0LWxpZ2h0bmluZzogXFxlMGI3O1xuJGZhLXZhci1zYWNrLXhtYXJrOiBcXGU1NmE7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1jb250cmFjdDogXFxmNTZjO1xuJGZhLXZhci1maXNoLWZpbnM6IFxcZTRmMjtcbiRmYS12YXItYnVpbGRpbmctZmxhZzogXFxlNGQ1O1xuJGZhLXZhci1mYWNlLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItb2JqZWN0LXVuZ3JvdXA6IFxcZjI0ODtcbiRmYS12YXItcG9vcDogXFxmNjE5O1xuJGZhLXZhci1sb2NhdGlvbi1waW46IFxcZjA0MTtcbiRmYS12YXItbWFwLW1hcmtlcjogXFxmMDQxO1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci10b2lsZXQtcGFwZXI6IFxcZjcxZTtcbiRmYS12YXItaGVsbWV0LXNhZmV0eTogXFxmODA3O1xuJGZhLXZhci1oYXJkLWhhdDogXFxmODA3O1xuJGZhLXZhci1oYXQtaGFyZDogXFxmODA3O1xuJGZhLXZhci1lamVjdDogXFxmMDUyO1xuJGZhLXZhci1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1wbGFuZS1jaXJjbGUtY2hlY2s6IFxcZTU1NTtcbiRmYS12YXItZmFjZS1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItbWVoLXJvbGxpbmctZXllczogXFxmNWE1O1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFxcZjI0NztcbiRmYS12YXItY2hhcnQtbGluZTogXFxmMjAxO1xuJGZhLXZhci1saW5lLWNoYXJ0OiBcXGYyMDE7XG4kZmEtdmFyLW1hc2stdmVudGlsYXRvcjogXFxlNTI0O1xuJGZhLXZhci1hcnJvdy1yaWdodDogXFxmMDYxO1xuJGZhLXZhci1zaWducy1wb3N0OiBcXGYyNzc7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtcXVlc3Rpb246IFxcZTU0MjtcbiRmYS12YXItaDogXFw0ODtcbiRmYS12YXItdGFycDogXFxlNTdiO1xuJGZhLXZhci1zY3Jld2RyaXZlci13cmVuY2g6IFxcZjdkOTtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItYXJyb3dzLXRvLWV5ZTogXFxlNGJmO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1ib2x0OiBcXGU1NWI7XG4kZmEtdmFyLWhlYXJ0OiBcXGYwMDQ7XG4kZmEtdmFyLW1hcnMtYW5kLXZlbnVzOiBcXGYyMjQ7XG4kZmEtdmFyLWhvdXNlLXVzZXI6IFxcZTFiMDtcbiRmYS12YXItaG9tZS11c2VyOiBcXGUxYjA7XG4kZmEtdmFyLWR1bXBzdGVyLWZpcmU6IFxcZjc5NDtcbiRmYS12YXItaG91c2UtY3JhY2s6IFxcZTNiMTtcbiRmYS12YXItbWFydGluaS1nbGFzcy1jaXRydXM6IFxcZjU2MTtcbiRmYS12YXItY29ja3RhaWw6IFxcZjU2MTtcbiRmYS12YXItZmFjZS1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1zdXJwcmlzZTogXFxmNWMyO1xuJGZhLXZhci1ib3R0bGUtd2F0ZXI6IFxcZTRjNTtcbiRmYS12YXItY2lyY2xlLXBhdXNlOiBcXGYyOGI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZTogXFxmMjhiO1xuJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2g6IFxcZTA3MjtcbiRmYS12YXItYXBwbGUtd2hvbGU6IFxcZjVkMTtcbiRmYS12YXItYXBwbGUtYWx0OiBcXGY1ZDE7XG4kZmEtdmFyLWtpdGNoZW4tc2V0OiBcXGU1MWE7XG4kZmEtdmFyLXI6IFxcNTI7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGVtcGVyYXR1cmUtMTogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci0xOiBcXGYyY2E7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItY3ViZTogXFxmMWIyO1xuJGZhLXZhci1iaXRjb2luLXNpZ246IFxcZTBiNDtcbiRmYS12YXItc2hpZWxkLWRvZzogXFxlNTczO1xuJGZhLXZhci1zb2xhci1wYW5lbDogXFxmNWJhO1xuJGZhLXZhci1sb2NrLW9wZW46IFxcZjNjMTtcbiRmYS12YXItZWxldmF0b3I6IFxcZTE2ZDtcbiRmYS12YXItbW9uZXktYmlsbC10cmFuc2ZlcjogXFxlNTI4O1xuJGZhLXZhci1tb25leS1iaWxsLXRyZW5kLXVwOiBcXGU1Mjk7XG4kZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodDogXFxlNTBmO1xuJGZhLXZhci1zcXVhcmUtcG9sbC1ob3Jpem9udGFsOiBcXGY2ODI7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1jaXJjbGU6IFxcZjExMTtcbiRmYS12YXItYmFja3dhcmQtZmFzdDogXFxmMDQ5O1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcXGYwNDk7XG4kZmEtdmFyLXJlY3ljbGU6IFxcZjFiODtcbiRmYS12YXItdXNlci1hc3Ryb25hdXQ6IFxcZjRmYjtcbiRmYS12YXItcGxhbmUtc2xhc2g6IFxcZTA2OTtcbiRmYS12YXItdHJhZGVtYXJrOiBcXGYyNWM7XG4kZmEtdmFyLWJhc2tldGJhbGw6IFxcZjQzNDtcbiRmYS12YXItYmFza2V0YmFsbC1iYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLW1vYmlsZS1zY3JlZW4tYnV0dG9uOiBcXGYzY2Q7XG4kZmEtdmFyLW1vYmlsZS1hbHQ6IFxcZjNjZDtcbiRmYS12YXItdm9sdW1lLWhpZ2g6IFxcZjAyODtcbiRmYS12YXItdm9sdW1lLXVwOiBcXGYwMjg7XG4kZmEtdmFyLXVzZXJzLXJheXM6IFxcZTU5MztcbiRmYS12YXItd2FsbGV0OiBcXGY1NTU7XG4kZmEtdmFyLWNsaXBib2FyZC1jaGVjazogXFxmNDZjO1xuJGZhLXZhci1maWxlLWF1ZGlvOiBcXGYxYzc7XG4kZmEtdmFyLWJ1cmdlcjogXFxmODA1O1xuJGZhLXZhci1oYW1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItd3JlbmNoOiBcXGYwYWQ7XG4kZmEtdmFyLWJ1Z3M6IFxcZTRkMDtcbiRmYS12YXItcnVwZWUtc2lnbjogXFxmMTU2O1xuJGZhLXZhci1ydXBlZTogXFxmMTU2O1xuJGZhLXZhci1maWxlLWltYWdlOiBcXGYxYzU7XG4kZmEtdmFyLWNpcmNsZS1xdWVzdGlvbjogXFxmMDU5O1xuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGU6IFxcZjA1OTtcbiRmYS12YXItcGxhbmUtZGVwYXJ0dXJlOiBcXGY1YjA7XG4kZmEtdmFyLWhhbmRzaGFrZS1zbGFzaDogXFxlMDYwO1xuJGZhLXZhci1ib29rLWJvb2ttYXJrOiBcXGUwYmI7XG4kZmEtdmFyLWNvZGUtYnJhbmNoOiBcXGYxMjY7XG4kZmEtdmFyLWhhdC1jb3dib3k6IFxcZjhjMDtcbiRmYS12YXItYnJpZGdlOiBcXGU0Yzg7XG4kZmEtdmFyLXBob25lLWZsaXA6IFxcZjg3OTtcbiRmYS12YXItcGhvbmUtYWx0OiBcXGY4Nzk7XG4kZmEtdmFyLXRydWNrLWZyb250OiBcXGUyYjc7XG4kZmEtdmFyLWNhdDogXFxmNmJlO1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0YWI7XG4kZmEtdmFyLXRydWNrLWZpZWxkOiBcXGU1OGQ7XG4kZmEtdmFyLXJvdXRlOiBcXGY0ZDc7XG4kZmEtdmFyLWNsaXBib2FyZC1xdWVzdGlvbjogXFxlNGUzO1xuJGZhLXZhci1wYW5vcmFtYTogXFxlMjA5O1xuJGZhLXZhci1jb21tZW50LW1lZGljYWw6IFxcZjdmNTtcbiRmYS12YXItdGVldGgtb3BlbjogXFxmNjJmO1xuJGZhLXZhci1maWxlLWNpcmNsZS1taW51czogXFxlNGVkO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXdpbmUtZ2xhc3M6IFxcZjRlMztcbiRmYS12YXItZm9yd2FyZC1mYXN0OiBcXGYwNTA7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXFxmMDUwO1xuJGZhLXZhci1mYWNlLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtYmxhbms6IFxcZjVhNDtcbiRmYS12YXItc3F1YXJlLXBhcmtpbmc6IFxcZjU0MDtcbiRmYS12YXItcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1ob3VzZS1zaWduYWw6IFxcZTAxMjtcbiRmYS12YXItYmFycy1wcm9ncmVzczogXFxmODI4O1xuJGZhLXZhci10YXNrcy1hbHQ6IFxcZjgyODtcbiRmYS12YXItZmF1Y2V0LWRyaXA6IFxcZTAwNjtcbiRmYS12YXItY2FydC1mbGF0YmVkOiBcXGY0NzQ7XG4kZmEtdmFyLWRvbGx5LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItYmFuLXNtb2tpbmc6IFxcZjU0ZDtcbiRmYS12YXItc21va2luZy1iYW46IFxcZjU0ZDtcbiRmYS12YXItdGVybWluYWw6IFxcZjEyMDtcbiRmYS12YXItbW9iaWxlLWJ1dHRvbjogXFxmMTBiO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWZsYWc6IFxcZTUxNDtcbiRmYS12YXItYmFza2V0LXNob3BwaW5nOiBcXGYyOTE7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXFxmMjkxO1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLWJ1cy1zaW1wbGU6IFxcZjU1ZTtcbiRmYS12YXItYnVzLWFsdDogXFxmNTVlO1xuJGZhLXZhci1leWU6IFxcZjA2ZTtcbiRmYS12YXItZmFjZS1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC1jcnk6IFxcZjViMztcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFxcZjI5ZTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbjogXFxlNTRjO1xuJGZhLXZhci1maWxlLXNoaWVsZDogXFxlNGYwO1xuJGZhLXZhci11c2VyLXNsYXNoOiBcXGY1MDY7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci10b3dlci1vYnNlcnZhdGlvbjogXFxlNTg2O1xuJGZhLXZhci1maWxlLWNvZGU6IFxcZjFjOTtcbiRmYS12YXItc2lnbmFsOiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hbC01OiBcXGYwMTI7XG4kZmEtdmFyLXNpZ25hbC1wZXJmZWN0OiBcXGYwMTI7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1oZWFydC1jaXJjbGUteG1hcms6IFxcZTUwMTtcbiRmYS12YXItaG91c2UtY2hpbW5leTogXFxlM2FmO1xuJGZhLXZhci1ob21lLWxnOiBcXGUzYWY7XG4kZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTogXFxmMmQwO1xuJGZhLXZhci1mYWNlLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLWZyb3duOiBcXGYxMTk7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1zaG9wOiBcXGY1NGY7XG4kZmEtdmFyLXN0b3JlLWFsdDogXFxmNTRmO1xuJGZhLXZhci1mbG9wcHktZGlzazogXFxmMGM3O1xuJGZhLXZhci1zYXZlOiBcXGYwYzc7XG4kZmEtdmFyLXZpaGFyYTogXFxmNmE3O1xuJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkOiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdDogXFxmNTE1O1xuJGZhLXZhci1zb3J0LXVwOiBcXGYwZGU7XG4kZmEtdmFyLXNvcnQtYXNjOiBcXGYwZGU7XG4kZmEtdmFyLWNvbW1lbnQtZG90czogXFxmNGFkO1xuJGZhLXZhci1jb21tZW50aW5nOiBcXGY0YWQ7XG4kZmEtdmFyLXBsYW50LXdpbHQ6IFxcZTVhYTtcbiRmYS12YXItZGlhbW9uZDogXFxmMjE5O1xuJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1kb2xsYXI6IFxcZjRjMDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1iYWN0ZXJpdW06IFxcZTA1YTtcbiRmYS12YXItaGFuZC1wb2ludGVyOiBcXGYyNWE7XG4kZmEtdmFyLWRydW0tc3RlZWxwYW46IFxcZjU2YTtcbiRmYS12YXItaGFuZC1zY2lzc29yczogXFxmMjU3O1xuJGZhLXZhci1oYW5kcy1wcmF5aW5nOiBcXGY2ODQ7XG4kZmEtdmFyLXByYXlpbmctaGFuZHM6IFxcZjY4NDtcbiRmYS12YXItYXJyb3ctcm90YXRlLXJpZ2h0OiBcXGYwMWU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXJvdGF0ZTogXFxmMDFlO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtZm9yd2FyZDogXFxmMDFlO1xuJGZhLXZhci1yZWRvOiBcXGYwMWU7XG4kZmEtdmFyLWJpb2hhemFyZDogXFxmNzgwO1xuJGZhLXZhci1sb2NhdGlvbi1jcm9zc2hhaXJzOiBcXGY2MDE7XG4kZmEtdmFyLWxvY2F0aW9uOiBcXGY2MDE7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcXGYyMjc7XG4kZmEtdmFyLWNoaWxkLWRyZXNzOiBcXGU1OWM7XG4kZmEtdmFyLXVzZXJzLWJldHdlZW4tbGluZXM6IFxcZTU5MTtcbiRmYS12YXItbHVuZ3MtdmlydXM6IFxcZTA2NztcbiRmYS12YXItZmFjZS1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLWdyaW4tdGVhcnM6IFxcZjU4ODtcbiRmYS12YXItcGhvbmU6IFxcZjA5NTtcbiRmYS12YXItY2FsZW5kYXIteG1hcms6IFxcZjI3MztcbiRmYS12YXItY2FsZW5kYXItdGltZXM6IFxcZjI3MztcbiRmYS12YXItY2hpbGQtcmVhY2hpbmc6IFxcZTU5ZDtcbiRmYS12YXItaGVhZC1zaWRlLXZpcnVzOiBcXGUwNjQ7XG4kZmEtdmFyLXVzZXItZ2VhcjogXFxmNGZlO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci1hcnJvdy11cC0xLTk6IFxcZjE2MztcbiRmYS12YXItc29ydC1udW1lcmljLXVwOiBcXGYxNjM7XG4kZmEtdmFyLWRvb3ItY2xvc2VkOiBcXGY1MmE7XG4kZmEtdmFyLXNoaWVsZC12aXJ1czogXFxlMDZjO1xuJGZhLXZhci1kaWNlLXNpeDogXFxmNTI2O1xuJGZhLXZhci1tb3NxdWl0by1uZXQ6IFxcZTUyYztcbiRmYS12YXItYnJpZGdlLXdhdGVyOiBcXGU0Y2U7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLWhhdC13aXphcmQ6IFxcZjZlODtcbiRmYS12YXItcGVuLWZhbmN5OiBcXGY1YWM7XG4kZmEtdmFyLXBlcnNvbi1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLWRpZ2dpbmc6IFxcZjg1ZTtcbiRmYS12YXItdHJhc2g6IFxcZjFmODtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlOiBcXGY2Mjk7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZS1tZWQ6IFxcZjYyOTtcbiRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlOiBcXGY2Mjk7XG4kZmEtdmFyLWJvb2stbWVkaWNhbDogXFxmN2U2O1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcXVvdGUtcmlnaHQ6IFxcZjEwZTtcbiRmYS12YXItcXVvdGUtcmlnaHQtYWx0OiBcXGYxMGU7XG4kZmEtdmFyLXNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXQtc2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdHNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLWN1YmVzOiBcXGYxYjM7XG4kZmEtdmFyLWRpdmlkZTogXFxmNTI5O1xuJGZhLXZhci10ZW5nZS1zaWduOiBcXGY3ZDc7XG4kZmEtdmFyLXRlbmdlOiBcXGY3ZDc7XG4kZmEtdmFyLWhlYWRwaG9uZXM6IFxcZjAyNTtcbiRmYS12YXItaGFuZHMtaG9sZGluZzogXFxmNGMyO1xuJGZhLXZhci1oYW5kcy1jbGFwcGluZzogXFxlMWE4O1xuJGZhLXZhci1yZXB1YmxpY2FuOiBcXGY3NWU7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItcGVyc29uLWNpcmNsZS14bWFyazogXFxlNTQzO1xuJGZhLXZhci1ydWxlcjogXFxmNTQ1O1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcXGYwMzY7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItcmVzdHJvb206IFxcZjdiZDtcbiRmYS12YXItajogXFw0YTtcbiRmYS12YXItdXNlcnMtdmlld2ZpbmRlcjogXFxlNTk1O1xuJGZhLXZhci1maWxlLXZpZGVvOiBcXGYxYzg7XG4kZmEtdmFyLXVwLXJpZ2h0LWZyb20tc3F1YXJlOiBcXGYzNWQ7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0OiBcXGYzNWQ7XG4kZmEtdmFyLXRhYmxlLWNlbGxzOiBcXGYwMGE7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLWZpbGUtcGRmOiBcXGYxYzE7XG4kZmEtdmFyLWJvb2stYmlibGU6IFxcZjY0NztcbiRmYS12YXItYmlibGU6IFxcZjY0NztcbiRmYS12YXItbzogXFw0ZjtcbiRmYS12YXItc3VpdGNhc2UtbWVkaWNhbDogXFxmMGZhO1xuJGZhLXZhci1tZWRraXQ6IFxcZjBmYTtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItb3R0ZXI6IFxcZjcwMDtcbiRmYS12YXItcGVyc29uLWRyZXNzOiBcXGYxODI7XG4kZmEtdmFyLWZlbWFsZTogXFxmMTgyO1xuJGZhLXZhci1jb21tZW50LWRvbGxhcjogXFxmNjUxO1xuJGZhLXZhci1idXNpbmVzcy10aW1lOiBcXGY2NGE7XG4kZmEtdmFyLWJyaWVmY2FzZS1jbG9jazogXFxmNjRhO1xuJGZhLXZhci10YWJsZS1jZWxscy1sYXJnZTogXFxmMDA5O1xuJGZhLXZhci10aC1sYXJnZTogXFxmMDA5O1xuJGZhLXZhci1ib29rLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci10YW5ha2g6IFxcZjgyNztcbiRmYS12YXItcGhvbmUtdm9sdW1lOiBcXGYyYTA7XG4kZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lOiBcXGYyYTA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1jbGlwYm9hcmQtdXNlcjogXFxmN2YzO1xuJGZhLXZhci1jaGlsZDogXFxmMWFlO1xuJGZhLXZhci1saXJhLXNpZ246IFxcZjE5NTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXBsYW5lLWxvY2s6IFxcZTU1ODtcbiRmYS12YXItdGFnOiBcXGYwMmI7XG4kZmEtdmFyLWNvbW1lbnQ6IFxcZjA3NTtcbiRmYS12YXItY2FrZS1jYW5kbGVzOiBcXGYxZmQ7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFxcZjFmZDtcbiRmYS12YXItY2FrZTogXFxmMWZkO1xuJGZhLXZhci1lbnZlbG9wZTogXFxmMGUwO1xuJGZhLXZhci1hbmdsZXMtdXA6IFxcZjEwMjtcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcXGYxMDI7XG4kZmEtdmFyLXBhcGVyY2xpcDogXFxmMGM2O1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1jaXR5OiBcXGU0YjM7XG4kZmEtdmFyLXJpYmJvbjogXFxmNGQ2O1xuJGZhLXZhci1sdW5nczogXFxmNjA0O1xuJGZhLXZhci1hcnJvdy11cC05LTE6IFxcZjg4NztcbiRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdDogXFxmODg3O1xuJGZhLXZhci1saXRlY29pbi1zaWduOiBcXGUxZDM7XG4kZmEtdmFyLWJvcmRlci1ub25lOiBcXGY4NTA7XG4kZmEtdmFyLWNpcmNsZS1ub2RlczogXFxlNGUyO1xuJGZhLXZhci1wYXJhY2h1dGUtYm94OiBcXGY0Y2Q7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci10cnVjay1maWVsZC11bjogXFxlNThlO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVtcHR5OiBcXGYyNTQ7XG4kZmEtdmFyLW1vdW50YWluOiBcXGY2ZmM7XG4kZmEtdmFyLXVzZXItZG9jdG9yOiBcXGYwZjA7XG4kZmEtdmFyLXVzZXItbWQ6IFxcZjBmMDtcbiRmYS12YXItY2lyY2xlLWluZm86IFxcZjA1YTtcbiRmYS12YXItaW5mby1jaXJjbGU6IFxcZjA1YTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1hbHQ6IFxcZjAzMDtcbiRmYS12YXItc3F1YXJlLXZpcnVzOiBcXGU1Nzg7XG4kZmEtdmFyLW1ldGVvcjogXFxmNzUzO1xuJGZhLXZhci1jYXItb246IFxcZTRkZDtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLWFycm93LWRvd24tMS05OiBcXGYxNjI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M6IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd246IFxcZjE2MjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWRyb3BsZXQ6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyOiBcXGY0YzE7XG4kZmEtdmFyLXdhdGVyOiBcXGY3NzM7XG4kZmEtdmFyLWNhbGVuZGFyLWNoZWNrOiBcXGYyNzQ7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsOiBcXGY0ODY7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLWxhbmRtYXJrOiBcXGY2NmY7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLWNyb3NzaGFpcnM6IFxcZjA1YjtcbiRmYS12YXItcGVyc29uLWNhbmU6IFxcZTUzYztcbiRmYS12YXItdGVudDogXFxlNTdkO1xuJGZhLXZhci12ZXN0LXBhdGNoZXM6IFxcZTA4NjtcbiRmYS12YXItY2hlY2stZG91YmxlOiBcXGY1NjA7XG4kZmEtdmFyLWFycm93LWRvd24tYS16OiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bjogXFxmMTVkO1xuJGZhLXZhci1tb25leS1iaWxsLXdoZWF0OiBcXGU1MmE7XG4kZmEtdmFyLWNvb2tpZTogXFxmNTYzO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtbGVmdDogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1sZWZ0LXJvdGF0ZTogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFjazogXFxmMGUyO1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFja3dhcmQ6IFxcZjBlMjtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci1oYXJkLWRyaXZlOiBcXGYwYTA7XG4kZmEtdmFyLWhkZDogXFxmMGEwO1xuJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWR1bWJiZWxsOiBcXGY0NGI7XG4kZmEtdmFyLXJlY3RhbmdsZS1saXN0OiBcXGYwMjI7XG4kZmEtdmFyLWxpc3QtYWx0OiBcXGYwMjI7XG4kZmEtdmFyLXRhcnAtZHJvcGxldDogXFxlNTdjO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjazogXFxlNTExO1xuJGZhLXZhci1wZXJzb24tc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLWNhbGVuZGFyLXBsdXM6IFxcZjI3MTtcbiRmYS12YXItcGxhbmUtYXJyaXZhbDogXFxmNWFmO1xuJGZhLXZhci1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItdHJhaW4tc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1jaGFydC1nYW50dDogXFxlMGU0O1xuJGZhLXZhci1pbmRpYW4tcnVwZWUtc2lnbjogXFxlMWJjO1xuJGZhLXZhci1pbmRpYW4tcnVwZWU6IFxcZTFiYztcbiRmYS12YXItaW5yOiBcXGUxYmM7XG4kZmEtdmFyLWNyb3Atc2ltcGxlOiBcXGY1NjU7XG4kZmEtdmFyLWNyb3AtYWx0OiBcXGY1NjU7XG4kZmEtdmFyLW1vbmV5LWJpbGwtMTogXFxmM2QxO1xuJGZhLXZhci1tb25leS1iaWxsLWFsdDogXFxmM2QxO1xuJGZhLXZhci1sZWZ0LWxvbmc6IFxcZjMwYTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdDogXFxmMzBhO1xuJGZhLXZhci1kbmE6IFxcZjQ3MTtcbiRmYS12YXItdmlydXMtc2xhc2g6IFxcZTA3NTtcbiRmYS12YXItbWludXM6IFxcZjA2ODtcbiRmYS12YXItc3VidHJhY3Q6IFxcZjA2ODtcbiRmYS12YXItY2hlc3M6IFxcZjQzOTtcbiRmYS12YXItYXJyb3ctbGVmdC1sb25nOiBcXGYxNzc7XG4kZmEtdmFyLWxvbmctYXJyb3ctbGVmdDogXFxmMTc3O1xuJGZhLXZhci1wbHVnLWNpcmNsZS1jaGVjazogXFxlNTVjO1xuJGZhLXZhci1zdHJlZXQtdmlldzogXFxmMjFkO1xuJGZhLXZhci1mcmFuYy1zaWduOiBcXGUxOGY7XG4kZmEtdmFyLXZvbHVtZS1vZmY6IFxcZjAyNjtcbiRmYS12YXItaGFuZHMtYXNsLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWdlYXI6IFxcZjAxMztcbiRmYS12YXItY29nOiBcXGYwMTM7XG4kZmEtdmFyLWRyb3BsZXQtc2xhc2g6IFxcZjVjNztcbiRmYS12YXItdGludC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW9zcXVpdG86IFxcZTUyYjtcbiRmYS12YXItc3Rhci1vZi1kYXZpZDogXFxmNjlhO1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcmlmbGU6IFxcZTU0YjtcbiRmYS12YXItY2FydC1zaG9wcGluZzogXFxmMDdhO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcXGYwN2E7XG4kZmEtdmFyLXZpYWxzOiBcXGY0OTM7XG4kZmEtdmFyLXBsdWctY2lyY2xlLXBsdXM6IFxcZTU1ZjtcbiRmYS12YXItcGxhY2Utb2Ytd29yc2hpcDogXFxmNjdmO1xuJGZhLXZhci1ncmlwLXZlcnRpY2FsOiBcXGY1OGU7XG4kZmEtdmFyLWFycm93LXR1cm4tdXA6IFxcZjE0ODtcbiRmYS12YXItbGV2ZWwtdXA6IFxcZjE0ODtcbiRmYS12YXItdTogXFw1NTtcbiRmYS12YXItc3F1YXJlLXJvb3QtdmFyaWFibGU6IFxcZjY5ODtcbiRmYS12YXItc3F1YXJlLXJvb3QtYWx0OiBcXGY2OTg7XG4kZmEtdmFyLWNsb2NrOiBcXGYwMTc7XG4kZmEtdmFyLWNsb2NrLWZvdXI6IFxcZjAxNztcbiRmYS12YXItYmFja3dhcmQtc3RlcDogXFxmMDQ4O1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcXGYwNDg7XG4kZmEtdmFyLXBhbGxldDogXFxmNDgyO1xuJGZhLXZhci1mYXVjZXQ6IFxcZTAwNTtcbiRmYS12YXItYmFzZWJhbGwtYmF0LWJhbGw6IFxcZjQzMjtcbiRmYS12YXItczogXFw1MztcbiRmYS12YXItdGltZWxpbmU6IFxcZTI5YztcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXItY2FyZXQtZG93bjogXFxmMGQ3O1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItY2xpbmljLW1lZGljYWw6IFxcZjdmMjtcbiRmYS12YXItdGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGVtcGVyYXR1cmUtMzogXFxmMmM4O1xuJGZhLXZhci10aGVybW9tZXRlci0zOiBcXGYyYzg7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcXGYyYzg7XG4kZmEtdmFyLW1vYmlsZS1zY3JlZW46IFxcZjNjZjtcbiRmYS12YXItbW9iaWxlLWFuZHJvaWQtYWx0OiBcXGYzY2Y7XG4kZmEtdmFyLXBsYW5lLXVwOiBcXGUyMmQ7XG4kZmEtdmFyLXBpZ2d5LWJhbms6IFxcZjRkMztcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcXGYyNDI7XG4kZmEtdmFyLWJhdHRlcnktMzogXFxmMjQyO1xuJGZhLXZhci1tb3VudGFpbi1jaXR5OiBcXGU1MmU7XG4kZmEtdmFyLWNvaW5zOiBcXGY1MWU7XG4kZmEtdmFyLWtoYW5kYTogXFxmNjZkO1xuJGZhLXZhci1zbGlkZXJzOiBcXGYxZGU7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1mb2xkZXItdHJlZTogXFxmODAyO1xuJGZhLXZhci1uZXR3b3JrLXdpcmVkOiBcXGY2ZmY7XG4kZmEtdmFyLW1hcC1waW46IFxcZjI3NjtcbiRmYS12YXItaGFtc2E6IFxcZjY2NTtcbiRmYS12YXItY2VudC1zaWduOiBcXGUzZjU7XG4kZmEtdmFyLWZsYXNrOiBcXGYwYzM7XG4kZmEtdmFyLXBlcnNvbi1wcmVnbmFudDogXFxlMzFlO1xuJGZhLXZhci13YW5kLXNwYXJrbGVzOiBcXGY3MmI7XG4kZmEtdmFyLWVsbGlwc2lzLXZlcnRpY2FsOiBcXGYxNDI7XG4kZmEtdmFyLWVsbGlwc2lzLXY6IFxcZjE0MjtcbiRmYS12YXItdGlja2V0OiBcXGYxNDU7XG4kZmEtdmFyLXBvd2VyLW9mZjogXFxmMDExO1xuJGZhLXZhci1yaWdodC1sb25nOiBcXGYzMGI7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0OiBcXGYzMGI7XG4kZmEtdmFyLWZsYWctdXNhOiBcXGY3NGQ7XG4kZmEtdmFyLWxhcHRvcC1maWxlOiBcXGU1MWQ7XG4kZmEtdmFyLXR0eTogXFxmMWU0O1xuJGZhLXZhci10ZWxldHlwZTogXFxmMWU0O1xuJGZhLXZhci1kaWFncmFtLW5leHQ6IFxcZTQ3NjtcbiRmYS12YXItcGVyc29uLXJpZmxlOiBcXGU1NGU7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1MTI7XG4kZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nOiBcXGYyMGE7XG4kZmEtdmFyLXBlcnNvbi1oaWtpbmc6IFxcZjZlYztcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXFxmMjI2O1xuJGZhLXZhci1pbWFnZXM6IFxcZjMwMjtcbiRmYS12YXItY2FsY3VsYXRvcjogXFxmMWVjO1xuJGZhLXZhci1wZW9wbGUtcHVsbGluZzogXFxlNTM1O1xuJGZhLXZhci1uOiBcXDRlO1xuJGZhLXZhci1jYWJsZS1jYXI6IFxcZjdkYTtcbiRmYS12YXItdHJhbTogXFxmN2RhO1xuJGZhLXZhci1jbG91ZC1yYWluOiBcXGY3M2Q7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS14bWFyazogXFxlNGQ0O1xuJGZhLXZhci1zaGlwOiBcXGYyMWE7XG4kZmEtdmFyLWFycm93cy1kb3duLXRvLWxpbmU6IFxcZTRiODtcbiRmYS12YXItZG93bmxvYWQ6IFxcZjAxOTtcbiRmYS12YXItZmFjZS1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWdyaW46IFxcZjU4MDtcbiRmYS12YXItZGVsZXRlLWxlZnQ6IFxcZjU1YTtcbiRmYS12YXItYmFja3NwYWNlOiBcXGY1NWE7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWV5ZS1kcm9wcGVyLWVtcHR5OiBcXGYxZmI7XG4kZmEtdmFyLWV5ZWRyb3BwZXI6IFxcZjFmYjtcbiRmYS12YXItZmlsZS1jaXJjbGUtY2hlY2s6IFxcZTVhMDtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1tb2JpbGU6IFxcZjNjZTtcbiRmYS12YXItbW9iaWxlLWFuZHJvaWQ6IFxcZjNjZTtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcXGYzY2U7XG4kZmEtdmFyLWZhY2UtbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laDogXFxmMTFhO1xuJGZhLXZhci1hbGlnbi1jZW50ZXI6IFxcZjAzNztcbiRmYS12YXItYm9vay1za3VsbDogXFxmNmI3O1xuJGZhLXZhci1ib29rLWRlYWQ6IFxcZjZiNztcbiRmYS12YXItaWQtY2FyZDogXFxmMmMyO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2U6IFxcZjJjMjtcbiRmYS12YXItb3V0ZGVudDogXFxmMDNiO1xuJGZhLXZhci1kZWRlbnQ6IFxcZjAzYjtcbiRmYS12YXItaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0ZmU7XG4kZmEtdmFyLWhvdXNlOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWU6IFxcZjAxNTtcbiRmYS12YXItaG9tZS1hbHQ6IFxcZjAxNTtcbiRmYS12YXItaG9tZS1sZy1hbHQ6IFxcZjAxNTtcbiRmYS12YXItY2FsZW5kYXItd2VlazogXFxmNzg0O1xuJGZhLXZhci1sYXB0b3AtbWVkaWNhbDogXFxmODEyO1xuJGZhLXZhci1iOiBcXDQyO1xuJGZhLXZhci1maWxlLW1lZGljYWw6IFxcZjQ3NztcbiRmYS12YXItZGljZS1vbmU6IFxcZjUyNTtcbiRmYS12YXIta2l3aS1iaXJkOiBcXGY1MzU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWFycm93LWxlZnQ6IFxcZjBlYztcbiRmYS12YXItZXhjaGFuZ2U6IFxcZjBlYztcbiRmYS12YXItcm90YXRlLXJpZ2h0OiBcXGYyZjk7XG4kZmEtdmFyLXJlZG8tYWx0OiBcXGYyZjk7XG4kZmEtdmFyLXJvdGF0ZS1mb3J3YXJkOiBcXGYyZjk7XG4kZmEtdmFyLXV0ZW5zaWxzOiBcXGYyZTc7XG4kZmEtdmFyLWN1dGxlcnk6IFxcZjJlNztcbiRmYS12YXItYXJyb3ctdXAtd2lkZS1zaG9ydDogXFxmMTYxO1xuJGZhLXZhci1zb3J0LWFtb3VudC11cDogXFxmMTYxO1xuJGZhLXZhci1taWxsLXNpZ246IFxcZTFlZDtcbiRmYS12YXItYm93bC1yaWNlOiBcXGUyZWI7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXRvd2VyLWJyb2FkY2FzdDogXFxmNTE5O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItdHJ1Y2stcGlja3VwOiBcXGY2M2M7XG4kZmEtdmFyLXVwLWxvbmc6IFxcZjMwYztcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXA6IFxcZjMwYztcbiRmYS12YXItc3RvcDogXFxmMDRkO1xuJGZhLXZhci1jb2RlLW1lcmdlOiBcXGYzODc7XG4kZmEtdmFyLXVwbG9hZDogXFxmMDkzO1xuJGZhLXZhci1odXJyaWNhbmU6IFxcZjc1MTtcbiRmYS12YXItbW91bmQ6IFxcZTUyZDtcbiRmYS12YXItdG9pbGV0LXBvcnRhYmxlOiBcXGU1ODM7XG4kZmEtdmFyLWNvbXBhY3QtZGlzYzogXFxmNTFmO1xuJGZhLXZhci1maWxlLWFycm93LWRvd246IFxcZjU2ZDtcbiRmYS12YXItZmlsZS1kb3dubG9hZDogXFxmNTZkO1xuJGZhLXZhci1jYXJhdmFuOiBcXGY4ZmY7XG4kZmEtdmFyLXNoaWVsZC1jYXQ6IFxcZTU3MjtcbiRmYS12YXItYm9sdDogXFxmMGU3O1xuJGZhLXZhci16YXA6IFxcZjBlNztcbiRmYS12YXItZ2xhc3Mtd2F0ZXI6IFxcZTRmNDtcbiRmYS12YXItb2lsLXdlbGw6IFxcZTUzMjtcbiRmYS12YXItdmF1bHQ6IFxcZTJjNTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItcGxhbmUtY2lyY2xlLXhtYXJrOiBcXGU1NTc7XG4kZmEtdmFyLXllbi1zaWduOiBcXGYxNTc7XG4kZmEtdmFyLWNueTogXFxmMTU3O1xuJGZhLXZhci1qcHk6IFxcZjE1NztcbiRmYS12YXItcm1iOiBcXGYxNTc7XG4kZmEtdmFyLXllbjogXFxmMTU3O1xuJGZhLXZhci1ydWJsZS1zaWduOiBcXGYxNTg7XG4kZmEtdmFyLXJvdWJsZTogXFxmMTU4O1xuJGZhLXZhci1ydWI6IFxcZjE1ODtcbiRmYS12YXItcnVibGU6IFxcZjE1ODtcbiRmYS12YXItc3VuOiBcXGYxODU7XG4kZmEtdmFyLWd1aXRhcjogXFxmN2E2O1xuJGZhLXZhci1mYWNlLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItbGF1Z2gtd2luazogXFxmNTljO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWJvcmUtaG9sZTogXFxlNGMzO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3dzLXR1cm4tdG8tZG90czogXFxlNGMxO1xuJGZhLXZhci1mbG9yaW4tc2lnbjogXFxlMTg0O1xuJGZhLXZhci1hcnJvdy1kb3duLXNob3J0LXdpZGU6IFxcZjg4NDtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXFxmODg0O1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdDogXFxmODg0O1xuJGZhLXZhci1sZXNzLXRoYW46IFxcM2M7XG4kZmEtdmFyLWFuZ2xlLWRvd246IFxcZjEwNztcbiRmYS12YXItY2FyLXR1bm5lbDogXFxlNGRlO1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItZ3JpcC1saW5lczogXFxmN2E0O1xuJGZhLXZhci10aHVtYnMtZG93bjogXFxmMTY1O1xuJGZhLXZhci11c2VyLWxvY2s6IFxcZjUwMjtcbiRmYS12YXItYXJyb3ctcmlnaHQtbG9uZzogXFxmMTc4O1xuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcXGYxNzg7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUteG1hcms6IFxcZTRhYztcbiRmYS12YXItZWxsaXBzaXM6IFxcZjE0MTtcbiRmYS12YXItZWxsaXBzaXMtaDogXFxmMTQxO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWtpdC1tZWRpY2FsOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LWFpZDogXFxmNDc5O1xuJGZhLXZhci1wZXJzb24tdGhyb3VnaC13aW5kb3c6IFxcZTVhOTtcbiRmYS12YXItdG9vbGJveDogXFxmNTUyO1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNpcmNsZTogXFxlNGZiO1xuJGZhLXZhci1idWc6IFxcZjE4ODtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFxcZjA5ZDtcbiRmYS12YXItY3JlZGl0LWNhcmQtYWx0OiBcXGYwOWQ7XG4kZmEtdmFyLWNhcjogXFxmMWI5O1xuJGZhLXZhci1hdXRvbW9iaWxlOiBcXGYxYjk7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1oYW5kOiBcXGU0Zjc7XG4kZmEtdmFyLWJvb2stb3Blbi1yZWFkZXI6IFxcZjVkYTtcbiRmYS12YXItYm9vay1yZWFkZXI6IFxcZjVkYTtcbiRmYS12YXItbW91bnRhaW4tc3VuOiBcXGU1MmY7XG4kZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmU6IFxcZTRiYTtcbiRmYS12YXItZGljZS1kMjA6IFxcZjZjZjtcbiRmYS12YXItdHJ1Y2stZHJvcGxldDogXFxlNThjO1xuJGZhLXZhci1maWxlLWNpcmNsZS14bWFyazogXFxlNWExO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy11cDogXFxlMDQwO1xuJGZhLXZhci10ZW1wZXJhdHVyZS11cDogXFxlMDQwO1xuJGZhLXZhci1tZWRhbDogXFxmNWEyO1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItc3F1YXJlLWg6IFxcZjBmZDtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTQ6IFxcZjJjNztcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcXGYyYzc7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFxcZjEyYjtcbiRmYS12YXItcGx1Zy1jaXJjbGUteG1hcms6IFxcZTU2MDtcbiRmYS12YXItc3Rhci1vZi1saWZlOiBcXGY2MjE7XG4kZmEtdmFyLXBob25lLXNsYXNoOiBcXGYzZGQ7XG4kZmEtdmFyLXBhaW50LXJvbGxlcjogXFxmNWFhO1xuJGZhLXZhci1oYW5kc2hha2UtYW5nbGU6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtaGVscGluZzogXFxmNGM0O1xuJGZhLXZhci1sb2NhdGlvbi1kb3Q6IFxcZjNjNTtcbiRmYS12YXItbWFwLW1hcmtlci1hbHQ6IFxcZjNjNTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1ncmVhdGVyLXRoYW46IFxcM2U7XG4kZmEtdmFyLXBlcnNvbi1zd2ltbWluZzogXFxmNWM0O1xuJGZhLXZhci1zd2ltbWVyOiBcXGY1YzQ7XG4kZmEtdmFyLWFycm93LWRvd246IFxcZjA2MztcbiRmYS12YXItZHJvcGxldDogXFxmMDQzO1xuJGZhLXZhci10aW50OiBcXGYwNDM7XG4kZmEtdmFyLWVyYXNlcjogXFxmMTJkO1xuJGZhLXZhci1lYXJ0aC1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1lYXJ0aDogXFxmNTdkO1xuJGZhLXZhci1lYXJ0aC1hbWVyaWNhOiBcXGY1N2Q7XG4kZmEtdmFyLWdsb2JlLWFtZXJpY2FzOiBcXGY1N2Q7XG4kZmEtdmFyLXBlcnNvbi1idXJzdDogXFxlNTNiO1xuJGZhLXZhci1kb3ZlOiBcXGY0YmE7XG4kZmEtdmFyLWJhdHRlcnktZW1wdHk6IFxcZjI0NDtcbiRmYS12YXItYmF0dGVyeS0wOiBcXGYyNDQ7XG4kZmEtdmFyLXNvY2tzOiBcXGY2OTY7XG4kZmEtdmFyLWluYm94OiBcXGYwMWM7XG4kZmEtdmFyLXNlY3Rpb246IFxcZTQ0NztcbiRmYS12YXItZ2F1Z2UtaGlnaDogXFxmNjI1O1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmNjI1O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1mYXN0OiBcXGY2MjU7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dDogXFxmNjU4O1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjBmODtcbiRmYS12YXItaG9zcGl0YWwtd2lkZTogXFxmMGY4O1xuJGZhLXZhci13aW5lLWJvdHRsZTogXFxmNzJmO1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWJhcnMtc3RhZ2dlcmVkOiBcXGY1NTA7XG4kZmEtdmFyLXJlb3JkZXI6IFxcZjU1MDtcbiRmYS12YXItc3RyZWFtOiBcXGY1NTA7XG4kZmEtdmFyLWRoYXJtYWNoYWtyYTogXFxmNjU1O1xuJGZhLXZhci1ob3Rkb2c6IFxcZjgwZjtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctd2l0aC1jYW5lOiBcXGYyOWQ7XG4kZmEtdmFyLWJsaW5kOiBcXGYyOWQ7XG4kZmEtdmFyLWRydW06IFxcZjU2OTtcbiRmYS12YXItaWNlLWNyZWFtOiBcXGY4MTA7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1ib2x0OiBcXGU0ZmM7XG4kZmEtdmFyLWZheDogXFxmMWFjO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItY2hlY2stdG8tc2xvdDogXFxmNzcyO1xuJGZhLXZhci12b3RlLXllYTogXFxmNzcyO1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItYm94ZXMtc3RhY2tlZDogXFxmNDY4O1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1ib3hlcy1hbHQ6IFxcZjQ2ODtcbiRmYS12YXItbGluazogXFxmMGMxO1xuJGZhLXZhci1jaGFpbjogXFxmMGMxO1xuJGZhLXZhci1lYXItbGlzdGVuOiBcXGYyYTI7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXFxmMmEyO1xuJGZhLXZhci10cmVlLWNpdHk6IFxcZTU4NztcbiRmYS12YXItcGxheTogXFxmMDRiO1xuJGZhLXZhci1mb250OiBcXGYwMzE7XG4kZmEtdmFyLXJ1cGlhaC1zaWduOiBcXGUyM2Q7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3M6IFxcZjAwMjtcbiRmYS12YXItc2VhcmNoOiBcXGYwMDI7XG4kZmEtdmFyLXRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbDogXFxmNDVkO1xuJGZhLXZhci1waW5nLXBvbmctcGFkZGxlLWJhbGw6IFxcZjQ1ZDtcbiRmYS12YXItdGFibGUtdGVubmlzOiBcXGY0NWQ7XG4kZmEtdmFyLXBlcnNvbi1kb3RzLWZyb20tbGluZTogXFxmNDcwO1xuJGZhLXZhci1kaWFnbm9zZXM6IFxcZjQ3MDtcbiRmYS12YXItdHJhc2gtY2FuLWFycm93LXVwOiBcXGY4MmE7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0OiBcXGY4MmE7XG4kZmEtdmFyLW5haXJhLXNpZ246IFxcZTFmNjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLXdhbGtpZS10YWxraWU6IFxcZjhlZjtcbiRmYS12YXItZmlsZS1wZW46IFxcZjMxYztcbiRmYS12YXItZmlsZS1lZGl0OiBcXGYzMWM7XG4kZmEtdmFyLXJlY2VpcHQ6IFxcZjU0MztcbiRmYS12YXItc3F1YXJlLXBlbjogXFxmMTRiO1xuJGZhLXZhci1wZW4tc3F1YXJlOiBcXGYxNGI7XG4kZmEtdmFyLXBlbmNpbC1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItc3VpdGNhc2Utcm9sbGluZzogXFxmNWMxO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1M2Y7XG4kZmEtdmFyLWNoZXZyb24tZG93bjogXFxmMDc4O1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeTogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5LTU6IFxcZjI0MDtcbiRmYS12YXItc2t1bGwtY3Jvc3Nib25lczogXFxmNzE0O1xuJGZhLXZhci1jb2RlLWNvbXBhcmU6IFxcZTEzYTtcbiRmYS12YXItbGlzdC11bDogXFxmMGNhO1xuJGZhLXZhci1saXN0LWRvdHM6IFxcZjBjYTtcbiRmYS12YXItc2Nob29sLWxvY2s6IFxcZTU2ZjtcbiRmYS12YXItdG93ZXItY2VsbDogXFxlNTg1O1xuJGZhLXZhci1kb3duLWxvbmc6IFxcZjMwOTtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bjogXFxmMzA5O1xuJGZhLXZhci1yYW5raW5nLXN0YXI6IFxcZTU2MTtcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1wZXJzb24taGFyYXNzaW5nOiBcXGU1NDk7XG4kZmEtdmFyLWJyYXppbGlhbi1yZWFsLXNpZ246IFxcZTQ2YztcbiRmYS12YXItbGFuZG1hcmstZG9tZTogXFxmNzUyO1xuJGZhLXZhci1sYW5kbWFyay1hbHQ6IFxcZjc1MjtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItdHY6IFxcZjI2YztcbiRmYS12YXItdGVsZXZpc2lvbjogXFxmMjZjO1xuJGZhLXZhci10di1hbHQ6IFxcZjI2YztcbiRmYS12YXItc2hyaW1wOiBcXGU0NDg7XG4kZmEtdmFyLWxpc3QtY2hlY2s6IFxcZjBhZTtcbiRmYS12YXItdGFza3M6IFxcZjBhZTtcbiRmYS12YXItanVnLWRldGVyZ2VudDogXFxlNTE5O1xuJGZhLXZhci1jaXJjbGUtdXNlcjogXFxmMmJkO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXFxmMmJkO1xuJGZhLXZhci11c2VyLXNoaWVsZDogXFxmNTA1O1xuJGZhLXZhci13aW5kOiBcXGY3MmU7XG4kZmEtdmFyLWNhci1idXJzdDogXFxmNWUxO1xuJGZhLXZhci1jYXItY3Jhc2g6IFxcZjVlMTtcbiRmYS12YXIteTogXFw1OTtcbiRmYS12YXItcGVyc29uLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItdHJ1Y2stZmFzdDogXFxmNDhiO1xuJGZhLXZhci1zaGlwcGluZy1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItdXNlci1ncmFkdWF0ZTogXFxmNTAxO1xuJGZhLXZhci1jaXJjbGUtaGFsZi1zdHJva2U6IFxcZjA0MjtcbiRmYS12YXItYWRqdXN0OiBcXGYwNDI7XG4kZmEtdmFyLWNsYXBwZXJib2FyZDogXFxlMTMxO1xuJGZhLXZhci1jaXJjbGUtcmFkaWF0aW9uOiBcXGY3YmE7XG4kZmEtdmFyLXJhZGlhdGlvbi1hbHQ6IFxcZjdiYTtcbiRmYS12YXItYmFzZWJhbGw6IFxcZjQzMztcbiRmYS12YXItYmFzZWJhbGwtYmFsbDogXFxmNDMzO1xuJGZhLXZhci1qZXQtZmlnaHRlci11cDogXFxlNTE4O1xuJGZhLXZhci1kaWFncmFtLXByb2plY3Q6IFxcZjU0MjtcbiRmYS12YXItcHJvamVjdC1kaWFncmFtOiBcXGY1NDI7XG4kZmEtdmFyLWNvcHk6IFxcZjBjNTtcbiRmYS12YXItdm9sdW1lLXhtYXJrOiBcXGY2YTk7XG4kZmEtdmFyLXZvbHVtZS1tdXRlOiBcXGY2YTk7XG4kZmEtdmFyLXZvbHVtZS10aW1lczogXFxmNmE5O1xuJGZhLXZhci1oYW5kLXNwYXJrbGVzOiBcXGUwNWQ7XG4kZmEtdmFyLWdyaXA6IFxcZjU4ZDtcbiRmYS12YXItZ3JpcC1ob3Jpem9udGFsOiBcXGY1OGQ7XG4kZmEtdmFyLXNoYXJlLWZyb20tc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1jaGlsZC1jb21iYXRhbnQ6IFxcZTRlMDtcbiRmYS12YXItY2hpbGQtcmlmbGU6IFxcZTRlMDtcbiRmYS12YXItZ3VuOiBcXGUxOWI7XG4kZmEtdmFyLXNxdWFyZS1waG9uZTogXFxmMDk4O1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFxcZjA5ODtcbiRmYS12YXItcGx1czogXFwyYjtcbiRmYS12YXItYWRkOiBcXDJiO1xuJGZhLXZhci1leHBhbmQ6IFxcZjA2NTtcbiRmYS12YXItY29tcHV0ZXI6IFxcZTRlNTtcbiRmYS12YXIteG1hcms6IFxcZjAwZDtcbiRmYS12YXItY2xvc2U6IFxcZjAwZDtcbiRmYS12YXItbXVsdGlwbHk6IFxcZjAwZDtcbiRmYS12YXItcmVtb3ZlOiBcXGYwMGQ7XG4kZmEtdmFyLXRpbWVzOiBcXGYwMGQ7XG4kZmEtdmFyLWFycm93cy11cC1kb3duLWxlZnQtcmlnaHQ6IFxcZjA0NztcbiRmYS12YXItYXJyb3dzOiBcXGYwNDc7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdXNlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXI6IFxcZjUxYztcbiRmYS12YXItcGVzby1zaWduOiBcXGUyMjI7XG4kZmEtdmFyLWJ1aWxkaW5nLXNoaWVsZDogXFxlNGQ4O1xuJGZhLXZhci1iYWJ5OiBcXGY3N2M7XG4kZmEtdmFyLXVzZXJzLWxpbmU6IFxcZTU5MjtcbiRmYS12YXItcXVvdGUtbGVmdDogXFxmMTBkO1xuJGZhLXZhci1xdW90ZS1sZWZ0LWFsdDogXFxmMTBkO1xuJGZhLXZhci10cmFjdG9yOiBcXGY3MjI7XG4kZmEtdmFyLXRyYXNoLWFycm93LXVwOiBcXGY4Mjk7XG4kZmEtdmFyLXRyYXNoLXJlc3RvcmU6IFxcZjgyOTtcbiRmYS12YXItYXJyb3ctZG93bi11cC1sb2NrOiBcXGU0YjA7XG4kZmEtdmFyLWxpbmVzLWxlYW5pbmc6IFxcZTUxZTtcbiRmYS12YXItcnVsZXItY29tYmluZWQ6IFxcZjU0NjtcbiRmYS12YXItY29weXJpZ2h0OiBcXGYxZjk7XG4kZmEtdmFyLWVxdWFsczogXFwzZDtcbiRmYS12YXItYmxlbmRlcjogXFxmNTE3O1xuJGZhLXZhci10ZWV0aDogXFxmNjJlO1xuJGZhLXZhci1zaGVrZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1pbHM6IFxcZjIwYjtcbiRmYS12YXItc2hla2VsOiBcXGYyMGI7XG4kZmEtdmFyLXNoZXFlbDogXFxmMjBiO1xuJGZhLXZhci1zaGVxZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1tYXA6IFxcZjI3OTtcbiRmYS12YXItcm9ja2V0OiBcXGYxMzU7XG4kZmEtdmFyLXBob3RvLWZpbG06IFxcZjg3YztcbiRmYS12YXItcGhvdG8tdmlkZW86IFxcZjg3YztcbiRmYS12YXItZm9sZGVyLW1pbnVzOiBcXGY2NWQ7XG4kZmEtdmFyLXN0b3JlOiBcXGY1NGU7XG4kZmEtdmFyLWFycm93LXRyZW5kLXVwOiBcXGUwOTg7XG4kZmEtdmFyLXBsdWctY2lyY2xlLW1pbnVzOiBcXGU1NWU7XG4kZmEtdmFyLXNpZ24taGFuZ2luZzogXFxmNGQ5O1xuJGZhLXZhci1zaWduOiBcXGY0ZDk7XG4kZmEtdmFyLWJlemllci1jdXJ2ZTogXFxmNTViO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLXRhYmxldDogXFxmM2ZiO1xuJGZhLXZhci10YWJsZXQtYW5kcm9pZDogXFxmM2ZiO1xuJGZhLXZhci1zY2hvb2wtZmxhZzogXFxlNTZlO1xuJGZhLXZhci1maWxsOiBcXGY1NzU7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcXGYxMDY7XG4kZmEtdmFyLWRydW1zdGljay1iaXRlOiBcXGY2ZDc7XG4kZmEtdmFyLWhvbGx5LWJlcnJ5OiBcXGY3YWE7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXFxmMDUzO1xuJGZhLXZhci1iYWN0ZXJpYTogXFxlMDU5O1xuJGZhLXZhci1oYW5kLWxpemFyZDogXFxmMjU4O1xuJGZhLXZhci1ub3RkZWY6IFxcZTFmZTtcbiRmYS12YXItZGlzZWFzZTogXFxmN2ZhO1xuJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbDogXFxmNDY5O1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcXGYyMmQ7XG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFxcZjA1NDtcbiRmYS12YXItcmV0d2VldDogXFxmMDc5O1xuJGZhLXZhci1jYXItcmVhcjogXFxmNWRlO1xuJGZhLXZhci1jYXItYWx0OiBcXGY1ZGU7XG4kZmEtdmFyLXB1bXAtc29hcDogXFxlMDZiO1xuJGZhLXZhci12aWRlby1zbGFzaDogXFxmNGUyO1xuJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXI6IFxcZjI0MztcbiRmYS12YXItYmF0dGVyeS0yOiBcXGYyNDM7XG4kZmEtdmFyLXJhZGlvOiBcXGY4ZDc7XG4kZmEtdmFyLWJhYnktY2FycmlhZ2U6IFxcZjc3ZDtcbiRmYS12YXItY2FycmlhZ2UtYmFieTogXFxmNzdkO1xuJGZhLXZhci10cmFmZmljLWxpZ2h0OiBcXGY2Mzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyOiBcXGY0OTE7XG4kZmEtdmFyLXZyLWNhcmRib2FyZDogXFxmNzI5O1xuJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXI6IFxcZjgwNjtcbiRmYS12YXItcGVyY2VudDogXFwyNTtcbiRmYS12YXItcGVyY2VudGFnZTogXFwyNTtcbiRmYS12YXItdHJ1Y2stbW92aW5nOiBcXGY0ZGY7XG4kZmEtdmFyLWdsYXNzLXdhdGVyLWRyb3BsZXQ6IFxcZTRmNTtcbiRmYS12YXItZGlzcGxheTogXFxlMTYzO1xuJGZhLXZhci1mYWNlLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXNtaWxlOiBcXGYxMTg7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aHVtYi10YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRyb3BoeTogXFxmMDkxO1xuJGZhLXZhci1wZXJzb24tcHJheWluZzogXFxmNjgzO1xuJGZhLXZhci1wcmF5OiBcXGY2ODM7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW5kLXBlYWNlOiBcXGYyNWI7XG4kZmEtdmFyLXJvdGF0ZTogXFxmMmYxO1xuJGZhLXZhci1zeW5jLWFsdDogXFxmMmYxO1xuJGZhLXZhci1zcGlubmVyOiBcXGYxMTA7XG4kZmEtdmFyLXJvYm90OiBcXGY1NDQ7XG4kZmEtdmFyLXBlYWNlOiBcXGY2N2M7XG4kZmEtdmFyLWdlYXJzOiBcXGYwODU7XG4kZmEtdmFyLWNvZ3M6IFxcZjA4NTtcbiRmYS12YXItd2FyZWhvdXNlOiBcXGY0OTQ7XG4kZmEtdmFyLWFycm93LXVwLXJpZ2h0LWRvdHM6IFxcZTRiNztcbiRmYS12YXItc3Bsb3RjaDogXFxmNWJjO1xuJGZhLXZhci1mYWNlLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWRpY2UtZm91cjogXFxmNTI0O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci10cmFuc2dlbmRlcjogXFxmMjI1O1xuJGZhLXZhci10cmFuc2dlbmRlci1hbHQ6IFxcZjIyNTtcbiRmYS12YXItbWVyY3VyeTogXFxmMjIzO1xuJGZhLXZhci1hcnJvdy10dXJuLWRvd246IFxcZjE0OTtcbiRmYS12YXItbGV2ZWwtZG93bjogXFxmMTQ5O1xuJGZhLXZhci1wZXJzb24tZmFsbGluZy1idXJzdDogXFxlNTQ3O1xuJGZhLXZhci1hd2FyZDogXFxmNTU5O1xuJGZhLXZhci10aWNrZXQtc2ltcGxlOiBcXGYzZmY7XG4kZmEtdmFyLXRpY2tldC1hbHQ6IFxcZjNmZjtcbiRmYS12YXItYnVpbGRpbmc6IFxcZjFhZDtcbiRmYS12YXItYW5nbGVzLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQ6IFxcZjEwMDtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0OiBcXGYxZGE7XG4kZmEtdmFyLWhpc3Rvcnk6IFxcZjFkYTtcbiRmYS12YXItZmFjZS1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWZpbGUtZXhwb3J0OiBcXGY1NmU7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tZmlsZTogXFxmNTZlO1xuJGZhLXZhci1zaGllbGQ6IFxcZjEzMjtcbiRmYS12YXItc2hpZWxkLWJsYW5rOiBcXGYxMzI7XG4kZmEtdmFyLWFycm93LXVwLXNob3J0LXdpZGU6IFxcZjg4NTtcbiRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0OiBcXGY4ODU7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWw6IFxcZTNiMjtcbiRmYS12YXItZ29sZi1iYWxsLXRlZTogXFxmNDUwO1xuJGZhLXZhci1nb2xmLWJhbGw6IFxcZjQ1MDtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktd2luZG93OiBcXGUwMGQ7XG4kZmEtdmFyLXBlbi1uaWI6IFxcZjVhZDtcbiRmYS12YXItdGVudC1hcnJvdy10dXJuLWxlZnQ6IFxcZTU4MDtcbiRmYS12YXItdGVudHM6IFxcZTU4MjtcbiRmYS12YXItd2FuZC1tYWdpYzogXFxmMGQwO1xuJGZhLXZhci1tYWdpYzogXFxmMGQwO1xuJGZhLXZhci1kb2c6IFxcZjZkMztcbiRmYS12YXItY2Fycm90OiBcXGY3ODc7XG4kZmEtdmFyLW1vb246IFxcZjE4NjtcbiRmYS12YXItd2luZS1nbGFzcy1lbXB0eTogXFxmNWNlO1xuJGZhLXZhci13aW5lLWdsYXNzLWFsdDogXFxmNWNlO1xuJGZhLXZhci1jaGVlc2U6IFxcZjdlZjtcbiRmYS12YXIteWluLXlhbmc6IFxcZjZhZDtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItY29kZS1jb21taXQ6IFxcZjM4NjtcbiRmYS12YXItdGVtcGVyYXR1cmUtbG93OiBcXGY3NmI7XG4kZmEtdmFyLXBlcnNvbi1iaWtpbmc6IFxcZjg0YTtcbiRmYS12YXItYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJyb29tOiBcXGY1MWE7XG4kZmEtdmFyLXNoaWVsZC1oZWFydDogXFxlNTc0O1xuJGZhLXZhci1nb3B1cmFtOiBcXGY2NjQ7XG4kZmEtdmFyLWVhcnRoLW9jZWFuaWE6IFxcZTQ3YjtcbiRmYS12YXItZ2xvYmUtb2NlYW5pYTogXFxlNDdiO1xuJGZhLXZhci1zcXVhcmUteG1hcms6IFxcZjJkMztcbiRmYS12YXItdGltZXMtc3F1YXJlOiBcXGYyZDM7XG4kZmEtdmFyLXhtYXJrLXNxdWFyZTogXFxmMmQzO1xuJGZhLXZhci1oYXNodGFnOiBcXDIzO1xuJGZhLXZhci11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyOiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hbHQ6IFxcZjQyNDtcbiRmYS12YXItb2lsLWNhbjogXFxmNjEzO1xuJGZhLXZhci10OiBcXDU0O1xuJGZhLXZhci1oaXBwbzogXFxmNmVkO1xuJGZhLXZhci1jaGFydC1jb2x1bW46IFxcZTBlMztcbiRmYS12YXItaW5maW5pdHk6IFxcZjUzNDtcbiRmYS12YXItdmlhbC1jaXJjbGUtY2hlY2s6IFxcZTU5NjtcbiRmYS12YXItcGVyc29uLWFycm93LWRvd24tdG8tbGluZTogXFxlNTM4O1xuJGZhLXZhci12b2ljZW1haWw6IFxcZjg5NztcbiRmYS12YXItZmFuOiBcXGY4NjM7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWx1Z2dhZ2U6IFxcZTU1NDtcbiRmYS12YXItdXAtZG93bjogXFxmMzM4O1xuJGZhLXZhci1hcnJvd3MtYWx0LXY6IFxcZjMzODtcbiRmYS12YXItY2xvdWQtbW9vbi1yYWluOiBcXGY3M2M7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLXRyYWlsZXI6IFxcZTA0MTtcbiRmYS12YXItYmFoYWk6IFxcZjY2NjtcbiRmYS12YXItaGF5a2FsOiBcXGY2NjY7XG4kZmEtdmFyLXNkLWNhcmQ6IFxcZjdjMjtcbiRmYS12YXItZHJhZ29uOiBcXGY2ZDU7XG4kZmEtdmFyLXNob2UtcHJpbnRzOiBcXGY1NGI7XG4kZmEtdmFyLWNpcmNsZS1wbHVzOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWhhbmQtaG9sZGluZzogXFxmNGJkO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTVkO1xuJGZhLXZhci1saW5rLXNsYXNoOiBcXGYxMjc7XG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXFxmMTI3O1xuJGZhLXZhci1jaGFpbi1zbGFzaDogXFxmMTI3O1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItY2xvbmU6IFxcZjI0ZDtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0OiBcXGU1NTE7XG4kZmEtdmFyLWFycm93LXVwLXotYTogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1maXJlLWZsYW1lLWN1cnZlZDogXFxmN2U0O1xuJGZhLXZhci1maXJlLWFsdDogXFxmN2U0O1xuJGZhLXZhci10b3JuYWRvOiBcXGY3NmY7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXBsdXM6IFxcZTQ5NDtcbiRmYS12YXItYm9vay1xdXJhbjogXFxmNjg3O1xuJGZhLXZhci1xdXJhbjogXFxmNjg3O1xuJGZhLXZhci1hbmNob3I6IFxcZjEzZDtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1mYWNlLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWNvb2tpZS1iaXRlOiBcXGY1NjQ7XG4kZmEtdmFyLWFycm93LXRyZW5kLWRvd246IFxcZTA5NztcbiRmYS12YXItcnNzOiBcXGYwOWU7XG4kZmEtdmFyLWZlZWQ6IFxcZjA5ZTtcbiRmYS12YXItZHJhdy1wb2x5Z29uOiBcXGY1ZWU7XG4kZmEtdmFyLXNjYWxlLWJhbGFuY2VkOiBcXGYyNGU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlLWhpZ2g6IFxcZjYyYTtcbiRmYS12YXItdGFjaG9tZXRlcjogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyLWZhc3Q6IFxcZjYyYTtcbiRmYS12YXItc2hvd2VyOiBcXGYyY2M7XG4kZmEtdmFyLWRlc2t0b3A6IFxcZjM5MDtcbiRmYS12YXItZGVza3RvcC1hbHQ6IFxcZjM5MDtcbiRmYS12YXItbTogXFw0ZDtcbiRmYS12YXItdGFibGUtbGlzdDogXFxmMDBiO1xuJGZhLXZhci10aC1saXN0OiBcXGYwMGI7XG4kZmEtdmFyLWNvbW1lbnQtc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLXNtczogXFxmN2NkO1xuJGZhLXZhci1ib29rOiBcXGYwMmQ7XG4kZmEtdmFyLXVzZXItcGx1czogXFxmMjM0O1xuJGZhLXZhci1jaGVjazogXFxmMDBjO1xuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcXGYyNDE7XG4kZmEtdmFyLWJhdHRlcnktNDogXFxmMjQxO1xuJGZhLXZhci1ob3VzZS1jaXJjbGUtY2hlY2s6IFxcZTUwOTtcbiRmYS12YXItYW5nbGUtbGVmdDogXFxmMTA0O1xuJGZhLXZhci1kaWFncmFtLXN1Y2Nlc3NvcjogXFxlNDdhO1xuJGZhLXZhci10cnVjay1hcnJvdy1yaWdodDogXFxlNThiO1xuJGZhLXZhci1hcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQ6IFxcZTRiYztcbiRmYS12YXItaGFuZC1maXN0OiBcXGY2ZGU7XG4kZmEtdmFyLWZpc3QtcmFpc2VkOiBcXGY2ZGU7XG4kZmEtdmFyLWNsb3VkLW1vb246IFxcZjZjMztcbiRmYS12YXItYnJpZWZjYXNlOiBcXGYwYjE7XG4kZmEtdmFyLXBlcnNvbi1mYWxsaW5nOiBcXGU1NDY7XG4kZmEtdmFyLWltYWdlLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXBvcnRyYWl0OiBcXGYzZTA7XG4kZmEtdmFyLXVzZXItdGFnOiBcXGY1MDc7XG4kZmEtdmFyLXJ1ZzogXFxlNTY5O1xuJGZhLXZhci1lYXJ0aC1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItZ2xvYmUtZXVyb3BlOiBcXGY3YTI7XG4kZmEtdmFyLWNhcnQtZmxhdGJlZC1zdWl0Y2FzZTogXFxmNTlkO1xuJGZhLXZhci1sdWdnYWdlLWNhcnQ6IFxcZjU5ZDtcbiRmYS12YXItcmVjdGFuZ2xlLXhtYXJrOiBcXGY0MTA7XG4kZmEtdmFyLXJlY3RhbmdsZS10aW1lczogXFxmNDEwO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGU6IFxcZjQxMDtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcXGY0MTA7XG4kZmEtdmFyLWJhaHQtc2lnbjogXFxlMGFjO1xuJGZhLXZhci1ib29rLW9wZW46IFxcZjUxODtcbiRmYS12YXItYm9vay1qb3VybmFsLXdoaWxsczogXFxmNjZhO1xuJGZhLXZhci1qb3VybmFsLXdoaWxsczogXFxmNjZhO1xuJGZhLXZhci1oYW5kY3VmZnM6IFxcZTRmODtcbiRmYS12YXItdHJpYW5nbGUtZXhjbGFtYXRpb246IFxcZjA3MTtcbiRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGU6IFxcZjA3MTtcbiRmYS12YXItd2FybmluZzogXFxmMDcxO1xuJGZhLXZhci1kYXRhYmFzZTogXFxmMWMwO1xuJGZhLXZhci1zaGFyZTogXFxmMDY0O1xuJGZhLXZhci1tYWlsLWZvcndhcmQ6IFxcZjA2NDtcbiRmYS12YXItYm90dGxlLWRyb3BsZXQ6IFxcZTRjNDtcbiRmYS12YXItbWFzay1mYWNlOiBcXGUxZDc7XG4kZmEtdmFyLWhpbGwtcm9ja3NsaWRlOiBcXGU1MDg7XG4kZmEtdmFyLXJpZ2h0LWxlZnQ6IFxcZjM2MjtcbiRmYS12YXItZXhjaGFuZ2UtYWx0OiBcXGYzNjI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcXGYxZDg7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NjU7XG4kZmEtdmFyLWR1bmdlb246IFxcZjZkOTtcbiRmYS12YXItYWxpZ24tcmlnaHQ6IFxcZjAzODtcbiRmYS12YXItbW9uZXktYmlsbC0xLXdhdmU6IFxcZjUzYjtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdDogXFxmNTNiO1xuJGZhLXZhci1saWZlLXJpbmc6IFxcZjFjZDtcbiRmYS12YXItaGFuZHM6IFxcZjJhNztcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXFxmMmE3O1xuJGZhLXZhci1zaWduaW5nOiBcXGYyYTc7XG4kZmEtdmFyLWNhbGVuZGFyLWRheTogXFxmNzgzO1xuJGZhLXZhci13YXRlci1sYWRkZXI6IFxcZjVjNTtcbiRmYS12YXItbGFkZGVyLXdhdGVyOiBcXGY1YzU7XG4kZmEtdmFyLXN3aW1taW5nLXBvb2w6IFxcZjVjNTtcbiRmYS12YXItYXJyb3dzLXVwLWRvd246IFxcZjA3ZDtcbiRmYS12YXItYXJyb3dzLXY6IFxcZjA3ZDtcbiRmYS12YXItZmFjZS1ncmltYWNlOiBcXGY1N2Y7XG4kZmEtdmFyLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItd2hlZWxjaGFpci1tb3ZlOiBcXGUyY2U7XG4kZmEtdmFyLXdoZWVsY2hhaXItYWx0OiBcXGUyY2U7XG4kZmEtdmFyLXR1cm4tZG93bjogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodDogXFxlNTUyO1xuJGZhLXZhci1zcXVhcmUtZW52ZWxvcGU6IFxcZjE5OTtcbiRmYS12YXItZW52ZWxvcGUtc3F1YXJlOiBcXGYxOTk7XG4kZmEtdmFyLWRpY2U6IFxcZjUyMjtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJyYWluOiBcXGY1ZGM7XG4kZmEtdmFyLWJhbmRhZ2U6IFxcZjQ2MjtcbiRmYS12YXItYmFuZC1haWQ6IFxcZjQ2MjtcbiRmYS12YXItY2FsZW5kYXItbWludXM6IFxcZjI3MjtcbiRmYS12YXItY2lyY2xlLXhtYXJrOiBcXGYwNTc7XG4kZmEtdmFyLXRpbWVzLWNpcmNsZTogXFxmMDU3O1xuJGZhLXZhci14bWFyay1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXItZ2lmdHM6IFxcZjc5YztcbiRmYS12YXItaG90ZWw6IFxcZjU5NDtcbiRmYS12YXItZWFydGgtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWlkLWNhcmQtY2xpcDogXFxmNDdmO1xuJGZhLXZhci1pZC1jYXJkLWFsdDogXFxmNDdmO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLXBsdXM6IFxcZjAwZTtcbiRmYS12YXItc2VhcmNoLXBsdXM6IFxcZjAwZTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXVzZXItY2xvY2s6IFxcZjRmZDtcbiRmYS12YXItaGFuZC1kb3RzOiBcXGY0NjE7XG4kZmEtdmFyLWFsbGVyZ2llczogXFxmNDYxO1xuJGZhLXZhci1maWxlLWludm9pY2U6IFxcZjU3MDtcbiRmYS12YXItd2luZG93LW1pbmltaXplOiBcXGYyZDE7XG4kZmEtdmFyLW11Zy1zYXVjZXI6IFxcZjBmNDtcbiRmYS12YXItY29mZmVlOiBcXGYwZjQ7XG4kZmEtdmFyLWJydXNoOiBcXGY1NWQ7XG4kZmEtdmFyLW1hc2s6IFxcZjZmYTtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1taW51czogXFxmMDEwO1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFxcZjAxMDtcbiRmYS12YXItcnVsZXItdmVydGljYWw6IFxcZjU0ODtcbiRmYS12YXItdXNlci1sYXJnZTogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci10cmFpbi10cmFtOiBcXGU1YjQ7XG4kZmEtdmFyLXVzZXItbnVyc2U6IFxcZjgyZjtcbiRmYS12YXItc3lyaW5nZTogXFxmNDhlO1xuJGZhLXZhci1jbG91ZC1zdW46IFxcZjZjNDtcbiRmYS12YXItc3RvcHdhdGNoLTIwOiBcXGUwNmY7XG4kZmEtdmFyLXNxdWFyZS1mdWxsOiBcXGY0NWM7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1qYXI6IFxcZTUxNjtcbiRmYS12YXItbm90ZS1zdGlja3k6IFxcZjI0OTtcbiRmYS12YXItc3RpY2t5LW5vdGU6IFxcZjI0OTtcbiRmYS12YXItYnVnLXNsYXNoOiBcXGU0OTA7XG4kZmEtdmFyLWFycm93LXVwLWZyb20td2F0ZXItcHVtcDogXFxlNGI2O1xuJGZhLXZhci1ib25lOiBcXGY1ZDc7XG4kZmEtdmFyLXVzZXItaW5qdXJlZDogXFxmNzI4O1xuJGZhLXZhci1mYWNlLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXRlbnQtYXJyb3dzLWRvd246IFxcZTU4MTtcbiRmYS12YXItZXhjbGFtYXRpb246IFxcMjE7XG4kZmEtdmFyLWFycm93cy1zcGluOiBcXGU0YmI7XG4kZmEtdmFyLXByaW50OiBcXGYwMmY7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYS1zaWduOiBcXGUyYmI7XG4kZmEtdmFyLXRyeTogXFxlMmJiO1xuJGZhLXZhci10dXJraXNoLWxpcmE6IFxcZTJiYjtcbiRmYS12YXItZG9sbGFyLXNpZ246IFxcMjQ7XG4kZmEtdmFyLWRvbGxhcjogXFwyNDtcbiRmYS12YXItdXNkOiBcXDI0O1xuJGZhLXZhci14OiBcXDU4O1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci1zZWFyY2gtZG9sbGFyOiBcXGY2ODg7XG4kZmEtdmFyLXVzZXJzLWdlYXI6IFxcZjUwOTtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1wb2ludGluZzogXFxlNTRhO1xuJGZhLXZhci1idWlsZGluZy1jb2x1bW5zOiBcXGYxOWM7XG4kZmEtdmFyLWJhbms6IFxcZjE5YztcbiRmYS12YXItaW5zdGl0dXRpb246IFxcZjE5YztcbiRmYS12YXItbXVzZXVtOiBcXGYxOWM7XG4kZmEtdmFyLXVuaXZlcnNpdHk6IFxcZjE5YztcbiRmYS12YXItdW1icmVsbGE6IFxcZjBlOTtcbiRmYS12YXItdHJvd2VsOiBcXGU1ODk7XG4kZmEtdmFyLWQ6IFxcNDQ7XG4kZmEtdmFyLXN0YXBsZXI6IFxcZTVhZjtcbiRmYS12YXItbWFza3MtdGhlYXRlcjogXFxmNjMwO1xuJGZhLXZhci10aGVhdGVyLW1hc2tzOiBcXGY2MzA7XG4kZmEtdmFyLWtpcC1zaWduOiBcXGUxYzQ7XG4kZmEtdmFyLWhhbmQtcG9pbnQtbGVmdDogXFxmMGE1O1xuJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlOiBcXGY0YzY7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQ6IFxcZjRjNjtcbiRmYS12YXItamV0LWZpZ2h0ZXI6IFxcZjBmYjtcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItc3F1YXJlLXNoYXJlLW5vZGVzOiBcXGYxZTE7XG4kZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU6IFxcZjFlMTtcbiRmYS12YXItYmFyY29kZTogXFxmMDJhO1xuJGZhLXZhci1wbHVzLW1pbnVzOiBcXGU0M2M7XG4kZmEtdmFyLXZpZGVvOiBcXGYwM2Q7XG4kZmEtdmFyLXZpZGVvLWNhbWVyYTogXFxmMDNkO1xuJGZhLXZhci1ncmFkdWF0aW9uLWNhcDogXFxmMTlkO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFxcZjE5ZDtcbiRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWw6IFxcZTA1YztcbiRmYS12YXItcGVyc29uLWNpcmNsZS1jaGVjazogXFxlNTNlO1xuJGZhLXZhci10dXJuLXVwOiBcXGYzYmY7XG4kZmEtdmFyLWxldmVsLXVwLWFsdDogXFxmM2JmO1xuXG4kZmEtdmFyLW1vbmVybzogXFxmM2QwO1xuJGZhLXZhci1ob29saTogXFxmNDI3O1xuJGZhLXZhci15ZWxwOiBcXGYxZTk7XG4kZmEtdmFyLWNjLXZpc2E6IFxcZjFmMDtcbiRmYS12YXItbGFzdGZtOiBcXGYyMDI7XG4kZmEtdmFyLXNob3B3YXJlOiBcXGY1YjU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmM6IFxcZjRlODtcbiRmYS12YXItYXdzOiBcXGYzNzU7XG4kZmEtdmFyLXJlZGhhdDogXFxmN2JjO1xuJGZhLXZhci15b2FzdDogXFxmMmIxO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLXVwczogXFxmN2UwO1xuJGZhLXZhci1waXhpdjogXFxlNjQwO1xuJGZhLXZhci13cGV4cGxvcmVyOiBcXGYyZGU7XG4kZmEtdmFyLWR5YWxvZzogXFxmMzk5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLXN0YWNrcGF0aDogXFxmODQyO1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLW1vZHg6IFxcZjI4NTtcbiRmYS12YXItZ3VpbGRlZDogXFxlMDdlO1xuJGZhLXZhci12bnY6IFxcZjQwYjtcbiRmYS12YXItc3F1YXJlLWpzOiBcXGYzYjk7XG4kZmEtdmFyLWpzLXNxdWFyZTogXFxmM2I5O1xuJGZhLXZhci1taWNyb3NvZnQ6IFxcZjNjYTtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItb3JjaWQ6IFxcZjhkMjtcbiRmYS12YXItamF2YTogXFxmNGU0O1xuJGZhLXZhci1pbnZpc2lvbjogXFxmN2IwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDogXFxmNGVkO1xuJGZhLXZhci1jZW50ZXJjb2RlOiBcXGYzODA7XG4kZmEtdmFyLWdsaWRlLWc6IFxcZjJhNjtcbiRmYS12YXItZHJ1cGFsOiBcXGYxYTk7XG4kZmEtdmFyLWhpcmUtYS1oZWxwZXI6IFxcZjNiMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieTogXFxmNGU3O1xuJGZhLXZhci11bml0eTogXFxlMDQ5O1xuJGZhLXZhci13aG1jczogXFxmNDBkO1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXZrOiBcXGYxODk7XG4kZmEtdmFyLXVudGFwcGQ6IFxcZjQwNTtcbiRmYS12YXItbWFpbGNoaW1wOiBcXGY1OWU7XG4kZmEtdmFyLWNzczMtYWx0OiBcXGYzOGI7XG4kZmEtdmFyLXNxdWFyZS1yZWRkaXQ6IFxcZjFhMjtcbiRmYS12YXItcmVkZGl0LXNxdWFyZTogXFxmMWEyO1xuJGZhLXZhci12aW1lby12OiBcXGYyN2Q7XG4kZmEtdmFyLWNvbnRhbzogXFxmMjZkO1xuJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lOiBcXGU1YWQ7XG4kZmEtdmFyLWRlc2twcm86IFxcZjM4ZjtcbiRmYS12YXItYnJhdmU6IFxcZTYzYztcbiRmYS12YXItc2lzdHJpeDogXFxmM2VlO1xuJGZhLXZhci1zcXVhcmUtaW5zdGFncmFtOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmU6IFxcZTA1NTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci10aGUtcmVkLXlldGk6IFxcZjY5ZDtcbiRmYS12YXItc3F1YXJlLWhhY2tlci1uZXdzOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZTogXFxmM2FmO1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLXRocmVhZHM6IFxcZTYxODtcbiRmYS12YXItbmFwc3RlcjogXFxmM2QyO1xuJGZhLXZhci1zcXVhcmUtc25hcGNoYXQ6IFxcZjJhZDtcbiRmYS12YXItc25hcGNoYXQtc3F1YXJlOiBcXGYyYWQ7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLWc6IFxcZjBkNTtcbiRmYS12YXItYXJ0c3RhdGlvbjogXFxmNzdhO1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1zb3VyY2V0cmVlOiBcXGY3ZDM7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcXGYyYjM7XG4kZmEtdmFyLWRpYXNwb3JhOiBcXGY3OTE7XG4kZmEtdmFyLWZvdXJzcXVhcmU6IFxcZjE4MDtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFxcZjE2YztcbiRmYS12YXItZ2l0aHViLWFsdDogXFxmMTEzO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBhZ2VsaW5lczogXFxmMThjO1xuJGZhLXZhci1hbGdvbGlhOiBcXGYzNmM7XG4kZmEtdmFyLXJlZC1yaXZlcjogXFxmM2UzO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhOiBcXGY0ZWY7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2U6IFxcZjM1YztcbiRmYS12YXItZm9udC1hd2Vzb21lLWFsdDogXFxmMzVjO1xuJGZhLXZhci1hdGxhc3NpYW46IFxcZjc3YjtcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItZGlnaXRhbC1vY2VhbjogXFxmMzkxO1xuJGZhLXZhci1uaW1ibHI6IFxcZjVhODtcbiRmYS12YXItY2hyb21lY2FzdDogXFxmODM4O1xuJGZhLXZhci1ldmVybm90ZTogXFxmODM5O1xuJGZhLXZhci1oYWNrZXItbmV3czogXFxmMWQ0O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOiBcXGY0ZjA7XG4kZmEtdmFyLWFkdmVyc2FsOiBcXGYzNmE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFxcZjI1ZTtcbiRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZzogXFxlMDg3O1xuJGZhLXZhci1mb250aWNvbnM6IFxcZjI4MDtcbiRmYS12YXItd2VpeGluOiBcXGYxZDc7XG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXFxmMjE0O1xuJGZhLXZhci1jb2RlcGVuOiBcXGYxY2I7XG4kZmEtdmFyLWdpdC1hbHQ6IFxcZjg0MTtcbiRmYS12YXItbHlmdDogXFxmM2MzO1xuJGZhLXZhci1yZXY6IFxcZjViMjtcbiRmYS12YXItd2luZG93czogXFxmMTdhO1xuJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdDogXFxmNzMwO1xuJGZhLXZhci1zcXVhcmUtdmlhZGVvOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWRlby1zcXVhcmU6IFxcZjJhYTtcbiRmYS12YXItbWVldHVwOiBcXGYyZTA7XG4kZmEtdmFyLWNlbnRvczogXFxmNzg5O1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1vcGVuc3VzZTogXFxlNjJiO1xuJGZhLXZhci1waWVkLXBpcGVyLWFsdDogXFxmMWE4O1xuJGZhLXZhci1zcXVhcmUtZHJpYmJibGU6IFxcZjM5NztcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWNvZGllcGllOiBcXGYyODQ7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbWl4OiBcXGYzY2I7XG4kZmEtdmFyLXN0ZWFtOiBcXGYxYjY7XG4kZmEtdmFyLWNjLWFwcGxlLXBheTogXFxmNDE2O1xuJGZhLXZhci1zY3JpYmQ6IFxcZjI4YTtcbiRmYS12YXItZGViaWFuOiBcXGU2MGI7XG4kZmEtdmFyLW9wZW5pZDogXFxmMTliO1xuJGZhLXZhci1pbnN0YWxvZDogXFxlMDgxO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFxcZjIzZTtcbiRmYS12YXItc2VsbGNhc3Q6IFxcZjJkYTtcbiRmYS12YXItc3F1YXJlLXR3aXR0ZXI6IFxcZjA4MTtcbiRmYS12YXItdHdpdHRlci1zcXVhcmU6IFxcZjA4MTtcbiRmYS12YXItci1wcm9qZWN0OiBcXGY0Zjc7XG4kZmEtdmFyLWRlbGljaW91czogXFxmMWE1O1xuJGZhLXZhci1mcmVlYnNkOiBcXGYzYTQ7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLWFjY3Vzb2Z0OiBcXGYzNjk7XG4kZmEtdmFyLWlveGhvc3Q6IFxcZjIwODtcbiRmYS12YXItZm9udGljb25zLWZpOiBcXGYzYTI7XG4kZmEtdmFyLWFwcC1zdG9yZTogXFxmMzZmO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWdvbGFuZzogXFxlNDBmO1xuJGZhLXZhci1raWNrc3RhcnRlcjogXFxmM2JiO1xuJGZhLXZhci1ncmF2OiBcXGYyZDY7XG4kZmEtdmFyLXdlaWJvOiBcXGYxOGE7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLXNxdWFyZS15b3V0dWJlOiBcXGY0MzE7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcXGY0MzE7XG4kZmEtdmFyLXdpa2lwZWRpYS13OiBcXGYyNjY7XG4kZmEtdmFyLXdwcmVzc3I6IFxcZjNlNDtcbiRmYS12YXItcmVuZGFjdDogXFxmM2U0O1xuJGZhLXZhci1hbmdlbGxpc3Q6IFxcZjIwOTtcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItbmZjLWRpcmVjdGlvbmFsOiBcXGU1MzA7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLWpvZ2V0OiBcXGYzYjc7XG4kZmEtdmFyLWZlZG9yYTogXFxmNzk4O1xuJGZhLXZhci1zdHJpcGUtczogXFxmNDJhO1xuJGZhLXZhci1tZXRhOiBcXGU0OWI7XG4kZmEtdmFyLWxhcmF2ZWw6IFxcZjNiZDtcbiRmYS12YXItaG90amFyOiBcXGYzYjE7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcXGYyOTQ7XG4kZmEtdmFyLXNxdWFyZS1sZXR0ZXJib3hkOiBcXGU2MmU7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm86IFxcZjRmMztcbiRmYS12YXItaGlwczogXFxmNDUyO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLXJlZGRpdDogXFxmMWExO1xuJGZhLXZhci1kaXNjb3JkOiBcXGYzOTI7XG4kZmEtdmFyLWNocm9tZTogXFxmMjY4O1xuJGZhLXZhci1hcHAtc3RvcmUtaW9zOiBcXGYzNzA7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLXdwYmVnaW5uZXI6IFxcZjI5NztcbiRmYS12YXItY29uZmx1ZW5jZTogXFxmNzhkO1xuJGZhLXZhci1zaG9lbGFjZTogXFxlNjBjO1xuJGZhLXZhci1tZGI6IFxcZjhjYTtcbiRmYS12YXItZG9jaHViOiBcXGYzOTQ7XG4kZmEtdmFyLWFjY2Vzc2libGUtaWNvbjogXFxmMzY4O1xuJGZhLXZhci1lYmF5OiBcXGY0ZjQ7XG4kZmEtdmFyLWFtYXpvbjogXFxmMjcwO1xuJGZhLXZhci11bnNwbGFzaDogXFxlMDdjO1xuJGZhLXZhci15YXJuOiBcXGY3ZTM7XG4kZmEtdmFyLXNxdWFyZS1zdGVhbTogXFxmMWI3O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItNTAwcHg6IFxcZjI2ZTtcbiRmYS12YXItc3F1YXJlLXZpbWVvOiBcXGYxOTQ7XG4kZmEtdmFyLXZpbWVvLXNxdWFyZTogXFxmMTk0O1xuJGZhLXZhci1hc3ltbWV0cmlrOiBcXGYzNzI7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZzogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsOiBcXGYyYjQ7XG4kZmEtdmFyLWdyYXRpcGF5OiBcXGYxODQ7XG4kZmEtdmFyLWFwcGxlOiBcXGYxNzk7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItZ2l0a3Jha2VuOiBcXGYzYTY7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXItYXBwbGUtcGF5OiBcXGY0MTU7XG4kZmEtdmFyLXBhZGxldDogXFxlNGEwO1xuJGZhLXZhci1hbWF6b24tcGF5OiBcXGY0MmM7XG4kZmEtdmFyLXNxdWFyZS1naXRodWI6IFxcZjA5MjtcbiRmYS12YXItZ2l0aHViLXNxdWFyZTogXFxmMDkyO1xuJGZhLXZhci1zdHVtYmxldXBvbjogXFxmMWE0O1xuJGZhLXZhci1mZWRleDogXFxmNzk3O1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1zaG9waWZ5OiBcXGUwNTc7XG4kZmEtdmFyLW5lb3M6IFxcZjYxMjtcbiRmYS12YXItc3F1YXJlLXRocmVhZHM6IFxcZTYxOTtcbiRmYS12YXItaGFja2VycmFuazogXFxmNWY3O1xuJGZhLXZhci1yZXNlYXJjaGdhdGU6IFxcZjRmODtcbiRmYS12YXItc3dpZnQ6IFxcZjhlMTtcbiRmYS12YXItYW5ndWxhcjogXFxmNDIwO1xuJGZhLXZhci1zcGVha2FwOiBcXGYzZjM7XG4kZmEtdmFyLWFuZ3J5Y3JlYXRpdmU6IFxcZjM2ZTtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcXGYyM2I7XG4kZmEtdmFyLWVtcGlyZTogXFxmMWQxO1xuJGZhLXZhci1lbnZpcmE6IFxcZjI5OTtcbiRmYS12YXItZ29vZ2xlLXNjaG9sYXI6IFxcZTYzYjtcbiRmYS12YXItc3F1YXJlLWdpdGxhYjogXFxlNWFlO1xuJGZhLXZhci1naXRsYWItc3F1YXJlOiBcXGU1YWU7XG4kZmEtdmFyLXN0dWRpb3ZpbmFyaTogXFxmM2Y4O1xuJGZhLXZhci1waWVkLXBpcGVyOiBcXGYyYWU7XG4kZmEtdmFyLXdvcmRwcmVzczogXFxmMTlhO1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFxcZjI4ODtcbiRmYS12YXItZmlyZWZveDogXFxmMjY5O1xuJGZhLXZhci1saW5vZGU6IFxcZjJiODtcbiRmYS12YXItZ29vZHJlYWRzOiBcXGYzYTg7XG4kZmEtdmFyLXNxdWFyZS1vZG5va2xhc3NuaWtpOiBcXGYyNjQ7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcXGYyNjQ7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLXNpdGg6IFxcZjUxMjtcbiRmYS12YXItdGhlbWVpc2xlOiBcXGYyYjI7XG4kZmEtdmFyLXBhZ2U0OiBcXGYzZDc7XG4kZmEtdmFyLWhhc2hub2RlOiBcXGU0OTk7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1zcXVhcmVzcGFjZTogXFxmNWJlO1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZTogXFxmNGYyO1xuJGZhLXZhci1iaXRjb2luOiBcXGYzNzk7XG4kZmEtdmFyLWtleWNkbjogXFxmM2JhO1xuJGZhLXZhci1vcGVyYTogXFxmMjZhO1xuJGZhLXZhci1pdGNoLWlvOiBcXGY4M2E7XG4kZmEtdmFyLXVtYnJhY286IFxcZjhlODtcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLXVidW50dTogXFxmN2RmO1xuJGZhLXZhci1kcmFmdDJkaWdpdGFsOiBcXGYzOTY7XG4kZmEtdmFyLXN0cmlwZTogXFxmNDI5O1xuJGZhLXZhci1ob3V6ejogXFxmMjdjO1xuJGZhLXZhci1nZzogXFxmMjYwO1xuJGZhLXZhci1kaGw6IFxcZjc5MDtcbiRmYS12YXItc3F1YXJlLXBpbnRlcmVzdDogXFxmMGQzO1xuJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlOiBcXGYwZDM7XG4kZmEtdmFyLXhpbmc6IFxcZjE2ODtcbiRmYS12YXItYmxhY2tiZXJyeTogXFxmMzdiO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkOiBcXGY0ZWM7XG4kZmEtdmFyLXBsYXlzdGF0aW9uOiBcXGYzZGY7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1sZXNzOiBcXGY0MWQ7XG4kZmEtdmFyLWJsb2dnZXItYjogXFxmMzdkO1xuJGZhLXZhci1vcGVuY2FydDogXFxmMjNkO1xuJGZhLXZhci12aW5lOiBcXGYxY2E7XG4kZmEtdmFyLXNpZ25hbC1tZXNzZW5nZXI6IFxcZTY2MztcbiRmYS12YXItcGF5cGFsOiBcXGYxZWQ7XG4kZmEtdmFyLWdpdGxhYjogXFxmMjk2O1xuJGZhLXZhci10eXBvMzogXFxmNDJiO1xuJGZhLXZhci1yZWRkaXQtYWxpZW46IFxcZjI4MTtcbiRmYS12YXIteWFob286IFxcZjE5ZTtcbiRmYS12YXItZGFpbHltb3Rpb246IFxcZTA1MjtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItb2Rub2tsYXNzbmlraTogXFxmMjYzO1xuJGZhLXZhci1uZmMtc3ltYm9sOiBcXGU1MzE7XG4kZmEtdmFyLW1pbnRiaXQ6IFxcZTYyZjtcbiRmYS12YXItZXRoZXJldW06IFxcZjQyZTtcbiRmYS12YXItc3BlYWtlci1kZWNrOiBcXGY4M2M7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6IFxcZjRlOTtcbiRmYS12YXItcGF0cmVvbjogXFxmM2Q5O1xuJGZhLXZhci1hdmlhbmV4OiBcXGYzNzQ7XG4kZmEtdmFyLWVsbG86IFxcZjVmMTtcbiRmYS12YXItZ29mb3JlOiBcXGYzYTc7XG4kZmEtdmFyLWJpbW9iamVjdDogXFxmMzc4O1xuJGZhLXZhci1icmF2ZS1yZXZlcnNlOiBcXGU2M2Q7XG4kZmEtdmFyLWZhY2Vib29rLWY6IFxcZjM5ZTtcbiRmYS12YXItc3F1YXJlLWdvb2dsZS1wbHVzOiBcXGYwZDQ7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTogXFxmMGQ0O1xuJGZhLXZhci1tYW5kYWxvcmlhbjogXFxmNTBmO1xuJGZhLXZhci1maXJzdC1vcmRlci1hbHQ6IFxcZjUwYTtcbiRmYS12YXItb3NpOiBcXGY0MWE7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFxcZjFlZTtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItY2xvdWRzY2FsZTogXFxmMzgzO1xuJGZhLXZhci1mb3J1bWJlZTogXFxmMjExO1xuJGZhLXZhci1taXp1bmk6IFxcZjNjYztcbiRmYS12YXItc2NobGl4OiBcXGYzZWE7XG4kZmEtdmFyLXNxdWFyZS14aW5nOiBcXGYxNjk7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcXGYxNjk7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLXdwZm9ybXM6IFxcZjI5ODtcbiRmYS12YXItY2xvdWR2ZXJzaWZ5OiBcXGYzODU7XG4kZmEtdmFyLXVzcHM6IFxcZjdlMTtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWFnZW50bzogXFxmM2M0O1xuJGZhLXZhci1zcG90aWZ5OiBcXGYxYmM7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFxcZjIzYztcbiRmYS12YXItZmx5OiBcXGY0MTc7XG4kZmEtdmFyLWF2aWF0bzogXFxmNDIxO1xuJGZhLXZhci1pdHVuZXM6IFxcZjNiNDtcbiRmYS12YXItY3V0dGxlZmlzaDogXFxmMzhjO1xuJGZhLXZhci1ibG9nZ2VyOiBcXGYzN2M7XG4kZmEtdmFyLWZsaWNrcjogXFxmMTZlO1xuJGZhLXZhci12aWJlcjogXFxmNDA5O1xuJGZhLXZhci1zb3VuZGNsb3VkOiBcXGYxYmU7XG4kZmEtdmFyLWRpZ2c6IFxcZjFhNjtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci1sZXR0ZXJib3hkOiBcXGU2MmQ7XG4kZmEtdmFyLXN5bWZvbnk6IFxcZjgzZDtcbiRmYS12YXItbWF4Y2RuOiBcXGYxMzY7XG4kZmEtdmFyLWV0c3k6IFxcZjJkNztcbiRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyOiBcXGYzOWY7XG4kZmEtdmFyLWF1ZGlibGU6IFxcZjM3MztcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItYmlsaWJpbGk6IFxcZTNkOTtcbiRmYS12YXItZXJsYW5nOiBcXGYzOWQ7XG4kZmEtdmFyLXgtdHdpdHRlcjogXFxlNjFiO1xuJGZhLXZhci1jb3R0b24tYnVyZWF1OiBcXGY4OWU7XG4kZmEtdmFyLWRhc2hjdWJlOiBcXGYyMTA7XG4kZmEtdmFyLTQyLWdyb3VwOiBcXGUwODA7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcXGYxOGQ7XG4kZmEtdmFyLWVsZW1lbnRvcjogXFxmNDMwO1xuJGZhLXZhci1zcXVhcmUtcGllZC1waXBlcjogXFxlMDFlO1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kOiBcXGY0ZWI7XG4kZmEtdmFyLXBhbGZlZDogXFxmM2Q4O1xuJGZhLXZhci1zdXBlcnBvd2VyczogXFxmMmRkO1xuJGZhLXZhci1yZXNvbHZpbmc6IFxcZjNlNztcbiRmYS12YXIteGJveDogXFxmNDEyO1xuJGZhLXZhci1zZWFyY2hlbmdpbjogXFxmM2ViO1xuJGZhLXZhci10aWt0b2s6IFxcZTA3YjtcbiRmYS12YXItc3F1YXJlLWZhY2Vib29rOiBcXGYwODI7XG4kZmEtdmFyLWZhY2Vib29rLXNxdWFyZTogXFxmMDgyO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItbGludXg6IFxcZjE3YztcbiRmYS12YXItZ2xpZGU6IFxcZjJhNTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItaHVic3BvdDogXFxmM2IyO1xuJGZhLXZhci1kZXBsb3lkb2c6IFxcZjM4ZTtcbiRmYS12YXItdHdpdGNoOiBcXGYxZTg7XG4kZmEtdmFyLXJhdmVscnk6IFxcZjJkOTtcbiRmYS12YXItbWl4ZXI6IFxcZTA1NjtcbiRmYS12YXItc3F1YXJlLWxhc3RmbTogXFxmMjAzO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcXGYyMDM7XG4kZmEtdmFyLXZpbWVvOiBcXGY0MGE7XG4kZmEtdmFyLW1lbmRlbGV5OiBcXGY3YjM7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLWZpZ21hOiBcXGY3OTk7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6IFxcZjRlZTtcbiRmYS12YXItY2MtYW1hem9uLXBheTogXFxmNDJkO1xuJGZhLXZhci1kcm9wYm94OiBcXGYxNmI7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1jbXBsaWQ6IFxcZTM2MDtcbiRmYS12YXItdXB3b3JrOiBcXGU2NDE7XG4kZmEtdmFyLWZhY2Vib29rOiBcXGYwOWE7XG4kZmEtdmFyLWdyaXBmaXJlOiBcXGYzYWM7XG4kZmEtdmFyLWplZGktb3JkZXI6IFxcZjUwZTtcbiRmYS12YXItdWlraXQ6IFxcZjQwMztcbiRmYS12YXItZm9ydC1hd2Vzb21lLWFsdDogXFxmM2EzO1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci11c3N1bm5haDogXFxmNDA3O1xuJGZhLXZhci1lYXJseWJpcmRzOiBcXGYzOWE7XG4kZmEtdmFyLXRyYWRlLWZlZGVyYXRpb246IFxcZjUxMztcbiRmYS12YXItYXV0b3ByZWZpeGVyOiBcXGY0MWM7XG4kZmEtdmFyLXdoYXRzYXBwOiBcXGYyMzI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItZ29vZ2xlLXBsYXk6IFxcZjNhYjtcbiRmYS12YXItdmlhZGVvOiBcXGYyYTk7XG4kZmEtdmFyLWxpbmU6IFxcZjNjMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItaW1kYjogXFxmMmQ4O1xuJGZhLXZhci1kZWV6ZXI6IFxcZTA3NztcbiRmYS12YXItcmFzcGJlcnJ5LXBpOiBcXGY3YmI7XG4kZmEtdmFyLWppcmE6IFxcZjdiMTtcbiRmYS12YXItZG9ja2VyOiBcXGYzOTU7XG4kZmEtdmFyLXNjcmVlbnBhbDogXFxlNTcwO1xuJGZhLXZhci1ibHVldG9vdGg6IFxcZjI5MztcbiRmYS12YXItZ2l0dGVyOiBcXGY0MjY7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItbWljcm9ibG9nOiBcXGUwMWE7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWdnLWNpcmNsZTogXFxmMjYxO1xuJGZhLXZhci1waWVkLXBpcGVyLWhhdDogXFxmNGU1O1xuJGZhLXZhci1raWNrc3RhcnRlci1rOiBcXGYzYmM7XG4kZmEtdmFyLXlhbmRleDogXFxmNDEzO1xuJGZhLXZhci1yZWFkbWU6IFxcZjRkNTtcbiRmYS12YXItaHRtbDU6IFxcZjEzYjtcbiRmYS12YXItc2VsbHN5OiBcXGYyMTM7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItd2lyc2luZGhhbmR3ZXJrOiBcXGUyZDA7XG4kZmEtdmFyLXdzaDogXFxlMmQwO1xuJGZhLXZhci1idXJvbW9iZWxleHBlcnRlOiBcXGYzN2Y7XG4kZmEtdmFyLXNhbGVzZm9yY2U6IFxcZjgzYjtcbiRmYS12YXItb2N0b3B1cy1kZXBsb3k6IFxcZTA4MjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1uczg6IFxcZjNkNTtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItYXBwZXI6IFxcZjM3MTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLXdhemU6IFxcZjgzZjtcbiRmYS12YXItY2MtamNiOiBcXGYyNGI7XG4kZmEtdmFyLXNuYXBjaGF0OiBcXGYyYWI7XG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcXGYyYWI7XG4kZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOiBcXGY2ZGM7XG4kZmEtdmFyLXJ1c3Q6IFxcZTA3YTtcbiRmYS12YXItd2l4OiBcXGY1Y2Y7XG4kZmEtdmFyLXNxdWFyZS1iZWhhbmNlOiBcXGYxYjU7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLXN1cHBsZTogXFxmM2Y5O1xuJGZhLXZhci13ZWJmbG93OiBcXGU2NWM7XG4kZmEtdmFyLXJlYmVsOiBcXGYxZDA7XG4kZmEtdmFyLWNzczM6IFxcZjEzYztcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXItc3BhY2UtYXdlc29tZTogXFxlNWFjO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcXGYxYmQ7XG4kZmEtdmFyLWNwYW5lbDogXFxmMzg4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1zcXVhcmUtZ2l0OiBcXGYxZDI7XG4kZmEtdmFyLWdpdC1zcXVhcmU6IFxcZjFkMjtcbiRmYS12YXItc3F1YXJlLXR1bWJscjogXFxmMTc0O1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcXGYxNzQ7XG4kZmEtdmFyLXRyZWxsbzogXFxmMTgxO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOiBcXGY0ZWE7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFxcZjI2NTtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1ncnVudDogXFxmM2FkO1xuJGZhLXZhci13ZWVibHk6IFxcZjVjYztcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFxcZjIwZTtcbiRmYS12YXItbGVhbnB1YjogXFxmMjEyO1xuJGZhLXZhci1ibGFjay10aWU6IFxcZjI3ZTtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItYW5kcm9pZDogXFxmMTdiO1xuJGZhLXZhci1ib3RzOiBcXGUzNDA7XG4kZmEtdmFyLWZyZWUtY29kZS1jYW1wOiBcXGYyYzU7XG4kZmEtdmFyLWhvcm5iaWxsOiBcXGY1OTI7XG4kZmEtdmFyLWpzOiBcXGYzYjg7XG4kZmEtdmFyLWlkZWFsOiBcXGUwMTM7XG4kZmEtdmFyLWdpdDogXFxmMWQzO1xuJGZhLXZhci1kZXY6IFxcZjZjYztcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsOiBcXGY0MTQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItdWJlcjogXFxmNDAyO1xuJGZhLXZhci1naXRodWI6IFxcZjA5YjtcbiRmYS12YXItcGhwOiBcXGY0NTc7XG4kZmEtdmFyLWFsaXBheTogXFxmNjQyO1xuJGZhLXZhci15b3V0dWJlOiBcXGYxNjc7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLWZpcmVmb3gtYnJvd3NlcjogXFxlMDA3O1xuJGZhLXZhci1yZXBseWQ6IFxcZjNlNjtcbiRmYS12YXItc3VzZTogXFxmN2Q2O1xuJGZhLXZhci1qZW5raW5zOiBcXGYzYjY7XG4kZmEtdmFyLXR3aXR0ZXI6IFxcZjA5OTtcbiRmYS12YXItcm9ja3JtczogXFxmM2U5O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLW5wbTogXFxmM2Q0O1xuJGZhLXZhci15YW1tZXI6IFxcZjg0MDtcbiRmYS12YXItYnRjOiBcXGYxNWE7XG4kZmEtdmFyLWRyaWJiYmxlOiBcXGYxN2Q7XG4kZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZTogXFxmMWEzO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXFxmMjZiO1xuJGZhLXZhci1zdHViYmVyOiBcXGU1Yzc7XG4kZmEtdmFyLXRlbGVncmFtOiBcXGYyYzY7XG4kZmEtdmFyLXRlbGVncmFtLXBsYW5lOiBcXGYyYzY7XG4kZmEtdmFyLW9sZC1yZXB1YmxpYzogXFxmNTEwO1xuJGZhLXZhci1vZHlzZWU6IFxcZTVjNjtcbiRmYS12YXItc3F1YXJlLXdoYXRzYXBwOiBcXGY0MGM7XG4kZmEtdmFyLXdoYXRzYXBwLXNxdWFyZTogXFxmNDBjO1xuJGZhLXZhci1ub2RlLWpzOiBcXGYzZDM7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjE5ODtcbiRmYS12YXItbWVkcnQ6IFxcZjNjODtcbiRmYS12YXItdXNiOiBcXGYyODc7XG4kZmEtdmFyLXR1bWJscjogXFxmMTczO1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItcXVvcmE6IFxcZjJjNDtcbiRmYS12YXItc3F1YXJlLXgtdHdpdHRlcjogXFxlNjFhO1xuJGZhLXZhci1yZWFjdGV1cm9wZTogXFxmNzVkO1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjIzYTtcbiRmYS12YXItYW1pbGlhOiBcXGYzNmQ7XG4kZmEtdmFyLW1peGNsb3VkOiBcXGYyODk7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLWNyaXRpY2FsLXJvbGU6IFxcZjZjOTtcbiRmYS12YXItc2l0cm94OiBcXGU0NGE7XG4kZmEtdmFyLWRpc2NvdXJzZTogXFxmMzkzO1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItbWFzdG9kb246IFxcZjRmNjtcbiRmYS12YXItYWlyYm5iOiBcXGY4MzQ7XG4kZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb246IFxcZjUxNDtcbiRmYS12YXItYnV5LW4tbGFyZ2U6IFxcZjhhNjtcbiRmYS12YXItZ3VscDogXFxmM2FlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6IFxcZjRmMTtcbiRmYS12YXItc3RyYXZhOiBcXGY0Mjg7XG4kZmEtdmFyLWVtYmVyOiBcXGY0MjM7XG4kZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWY6IFxcZjc4NTtcbiRmYS12YXItdGVhbXNwZWFrOiBcXGY0Zjk7XG4kZmEtdmFyLXB1c2hlZDogXFxmM2UxO1xuJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlOiBcXGY0MTE7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLXdvZHU6IFxcZTA4ODtcbiRmYS12YXItZ29vZ2xlLXBheTogXFxlMDc5O1xuJGZhLXZhci1pbnRlcmNvbTogXFxmN2FmO1xuJGZhLXZhci16aGlodTogXFxmNjNmO1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItcGl4OiBcXGU0M2E7XG4kZmEtdmFyLXN0ZWFtLXN5bWJvbDogXFxmM2Y2O1xuXG4kZmEtaWNvbnM6IChcbiAgXCIwXCI6ICRmYS12YXItMCxcbiAgXCIxXCI6ICRmYS12YXItMSxcbiAgXCIyXCI6ICRmYS12YXItMixcbiAgXCIzXCI6ICRmYS12YXItMyxcbiAgXCI0XCI6ICRmYS12YXItNCxcbiAgXCI1XCI6ICRmYS12YXItNSxcbiAgXCI2XCI6ICRmYS12YXItNixcbiAgXCI3XCI6ICRmYS12YXItNyxcbiAgXCI4XCI6ICRmYS12YXItOCxcbiAgXCI5XCI6ICRmYS12YXItOSxcbiAgXCJmaWxsLWRyaXBcIjogJGZhLXZhci1maWxsLWRyaXAsXG4gIFwiYXJyb3dzLXRvLWNpcmNsZVwiOiAkZmEtdmFyLWFycm93cy10by1jaXJjbGUsXG4gIFwiY2lyY2xlLWNoZXZyb24tcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1yaWdodCxcbiAgXCJjaGV2cm9uLWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0LFxuICBcImF0XCI6ICRmYS12YXItYXQsXG4gIFwidHJhc2gtY2FuXCI6ICRmYS12YXItdHJhc2gtY2FuLFxuICBcInRyYXNoLWFsdFwiOiAkZmEtdmFyLXRyYXNoLWFsdCxcbiAgXCJ0ZXh0LWhlaWdodFwiOiAkZmEtdmFyLXRleHQtaGVpZ2h0LFxuICBcInVzZXIteG1hcmtcIjogJGZhLXZhci11c2VyLXhtYXJrLFxuICBcInVzZXItdGltZXNcIjogJGZhLXZhci11c2VyLXRpbWVzLFxuICBcInN0ZXRob3Njb3BlXCI6ICRmYS12YXItc3RldGhvc2NvcGUsXG4gIFwibWVzc2FnZVwiOiAkZmEtdmFyLW1lc3NhZ2UsXG4gIFwiY29tbWVudC1hbHRcIjogJGZhLXZhci1jb21tZW50LWFsdCxcbiAgXCJpbmZvXCI6ICRmYS12YXItaW5mbyxcbiAgXCJkb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlclwiOiAkZmEtdmFyLWRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyLFxuICBcImNvbXByZXNzLWFsdFwiOiAkZmEtdmFyLWNvbXByZXNzLWFsdCxcbiAgXCJleHBsb3Npb25cIjogJGZhLXZhci1leHBsb3Npb24sXG4gIFwiZmlsZS1saW5lc1wiOiAkZmEtdmFyLWZpbGUtbGluZXMsXG4gIFwiZmlsZS1hbHRcIjogJGZhLXZhci1maWxlLWFsdCxcbiAgXCJmaWxlLXRleHRcIjogJGZhLXZhci1maWxlLXRleHQsXG4gIFwid2F2ZS1zcXVhcmVcIjogJGZhLXZhci13YXZlLXNxdWFyZSxcbiAgXCJyaW5nXCI6ICRmYS12YXItcmluZyxcbiAgXCJidWlsZGluZy11blwiOiAkZmEtdmFyLWJ1aWxkaW5nLXVuLFxuICBcImRpY2UtdGhyZWVcIjogJGZhLXZhci1kaWNlLXRocmVlLFxuICBcImNhbGVuZGFyLWRheXNcIjogJGZhLXZhci1jYWxlbmRhci1kYXlzLFxuICBcImNhbGVuZGFyLWFsdFwiOiAkZmEtdmFyLWNhbGVuZGFyLWFsdCxcbiAgXCJhbmNob3ItY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS1jaGVjayxcbiAgXCJidWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwidm9sbGV5YmFsbFwiOiAkZmEtdmFyLXZvbGxleWJhbGwsXG4gIFwidm9sbGV5YmFsbC1iYWxsXCI6ICRmYS12YXItdm9sbGV5YmFsbC1iYWxsLFxuICBcImFycm93cy11cC10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLXVwLXRvLWxpbmUsXG4gIFwic29ydC1kb3duXCI6ICRmYS12YXItc29ydC1kb3duLFxuICBcInNvcnQtZGVzY1wiOiAkZmEtdmFyLXNvcnQtZGVzYyxcbiAgXCJjaXJjbGUtbWludXNcIjogJGZhLXZhci1jaXJjbGUtbWludXMsXG4gIFwibWludXMtY2lyY2xlXCI6ICRmYS12YXItbWludXMtY2lyY2xlLFxuICBcImRvb3Itb3BlblwiOiAkZmEtdmFyLWRvb3Itb3BlbixcbiAgXCJyaWdodC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1yaWdodC1mcm9tLWJyYWNrZXQsXG4gIFwic2lnbi1vdXQtYWx0XCI6ICRmYS12YXItc2lnbi1vdXQtYWx0LFxuICBcImF0b21cIjogJGZhLXZhci1hdG9tLFxuICBcInNvYXBcIjogJGZhLXZhci1zb2FwLFxuICBcImljb25zXCI6ICRmYS12YXItaWNvbnMsXG4gIFwiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHRcIjogJGZhLXZhci1oZWFydC1tdXNpYy1jYW1lcmEtYm9sdCxcbiAgXCJtaWNyb3Bob25lLWxpbmVzLXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1saW5lcy1zbGFzaCxcbiAgXCJtaWNyb3Bob25lLWFsdC1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoLFxuICBcImJyaWRnZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLWNoZWNrLFxuICBcInB1bXAtbWVkaWNhbFwiOiAkZmEtdmFyLXB1bXAtbWVkaWNhbCxcbiAgXCJmaW5nZXJwcmludFwiOiAkZmEtdmFyLWZpbmdlcnByaW50LFxuICBcImhhbmQtcG9pbnQtcmlnaHRcIjogJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb25cIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uLFxuICBcInNlYXJjaC1sb2NhdGlvblwiOiAkZmEtdmFyLXNlYXJjaC1sb2NhdGlvbixcbiAgXCJmb3J3YXJkLXN0ZXBcIjogJGZhLXZhci1mb3J3YXJkLXN0ZXAsXG4gIFwic3RlcC1mb3J3YXJkXCI6ICRmYS12YXItc3RlcC1mb3J3YXJkLFxuICBcImZhY2Utc21pbGUtYmVhbVwiOiAkZmEtdmFyLWZhY2Utc21pbGUtYmVhbSxcbiAgXCJzbWlsZS1iZWFtXCI6ICRmYS12YXItc21pbGUtYmVhbSxcbiAgXCJmbGFnLWNoZWNrZXJlZFwiOiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkLFxuICBcImZvb3RiYWxsXCI6ICRmYS12YXItZm9vdGJhbGwsXG4gIFwiZm9vdGJhbGwtYmFsbFwiOiAkZmEtdmFyLWZvb3RiYWxsLWJhbGwsXG4gIFwic2Nob29sLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY3JvcFwiOiAkZmEtdmFyLWNyb3AsXG4gIFwiYW5nbGVzLWRvd25cIjogJGZhLXZhci1hbmdsZXMtZG93bixcbiAgXCJhbmdsZS1kb3VibGUtZG93blwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duLFxuICBcInVzZXJzLXJlY3RhbmdsZVwiOiAkZmEtdmFyLXVzZXJzLXJlY3RhbmdsZSxcbiAgXCJwZW9wbGUtcm9vZlwiOiAkZmEtdmFyLXBlb3BsZS1yb29mLFxuICBcInBlb3BsZS1saW5lXCI6ICRmYS12YXItcGVvcGxlLWxpbmUsXG4gIFwiYmVlci1tdWctZW1wdHlcIjogJGZhLXZhci1iZWVyLW11Zy1lbXB0eSxcbiAgXCJiZWVyXCI6ICRmYS12YXItYmVlcixcbiAgXCJkaWFncmFtLXByZWRlY2Vzc29yXCI6ICRmYS12YXItZGlhZ3JhbS1wcmVkZWNlc3NvcixcbiAgXCJhcnJvdy11cC1sb25nXCI6ICRmYS12YXItYXJyb3ctdXAtbG9uZyxcbiAgXCJsb25nLWFycm93LXVwXCI6ICRmYS12YXItbG9uZy1hcnJvdy11cCxcbiAgXCJmaXJlLWZsYW1lLXNpbXBsZVwiOiAkZmEtdmFyLWZpcmUtZmxhbWUtc2ltcGxlLFxuICBcImJ1cm5cIjogJGZhLXZhci1idXJuLFxuICBcInBlcnNvblwiOiAkZmEtdmFyLXBlcnNvbixcbiAgXCJtYWxlXCI6ICRmYS12YXItbWFsZSxcbiAgXCJsYXB0b3BcIjogJGZhLXZhci1sYXB0b3AsXG4gIFwiZmlsZS1jc3ZcIjogJGZhLXZhci1maWxlLWNzdixcbiAgXCJtZW5vcmFoXCI6ICRmYS12YXItbWVub3JhaCxcbiAgXCJ0cnVjay1wbGFuZVwiOiAkZmEtdmFyLXRydWNrLXBsYW5lLFxuICBcInJlY29yZC12aW55bFwiOiAkZmEtdmFyLXJlY29yZC12aW55bCxcbiAgXCJmYWNlLWdyaW4tc3RhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tc3RhcnMsXG4gIFwiZ3Jpbi1zdGFyc1wiOiAkZmEtdmFyLWdyaW4tc3RhcnMsXG4gIFwiYm9uZ1wiOiAkZmEtdmFyLWJvbmcsXG4gIFwic3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nXCI6ICRmYS12YXItc3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nLFxuICBcInBhc3RhZmFyaWFuaXNtXCI6ICRmYS12YXItcGFzdGFmYXJpYW5pc20sXG4gIFwiYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZVwiOiAkZmEtdmFyLWFycm93LWRvd24tdXAtYWNyb3NzLWxpbmUsXG4gIFwic3Bvb25cIjogJGZhLXZhci1zcG9vbixcbiAgXCJ1dGVuc2lsLXNwb29uXCI6ICRmYS12YXItdXRlbnNpbC1zcG9vbixcbiAgXCJqYXItd2hlYXRcIjogJGZhLXZhci1qYXItd2hlYXQsXG4gIFwiZW52ZWxvcGVzLWJ1bGtcIjogJGZhLXZhci1lbnZlbG9wZXMtYnVsayxcbiAgXCJtYWlsLWJ1bGtcIjogJGZhLXZhci1tYWlsLWJ1bGssXG4gIFwiZmlsZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1maWxlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjaXJjbGUtaFwiOiAkZmEtdmFyLWNpcmNsZS1oLFxuICBcImhvc3BpdGFsLXN5bWJvbFwiOiAkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCxcbiAgXCJwYWdlclwiOiAkZmEtdmFyLXBhZ2VyLFxuICBcImFkZHJlc3MtYm9va1wiOiAkZmEtdmFyLWFkZHJlc3MtYm9vayxcbiAgXCJjb250YWN0LWJvb2tcIjogJGZhLXZhci1jb250YWN0LWJvb2ssXG4gIFwic3RyaWtldGhyb3VnaFwiOiAkZmEtdmFyLXN0cmlrZXRocm91Z2gsXG4gIFwia1wiOiAkZmEtdmFyLWssXG4gIFwibGFuZG1hcmstZmxhZ1wiOiAkZmEtdmFyLWxhbmRtYXJrLWZsYWcsXG4gIFwicGVuY2lsXCI6ICRmYS12YXItcGVuY2lsLFxuICBcInBlbmNpbC1hbHRcIjogJGZhLXZhci1wZW5jaWwtYWx0LFxuICBcImJhY2t3YXJkXCI6ICRmYS12YXItYmFja3dhcmQsXG4gIFwiY2FyZXQtcmlnaHRcIjogJGZhLXZhci1jYXJldC1yaWdodCxcbiAgXCJjb21tZW50c1wiOiAkZmEtdmFyLWNvbW1lbnRzLFxuICBcInBhc3RlXCI6ICRmYS12YXItcGFzdGUsXG4gIFwiZmlsZS1jbGlwYm9hcmRcIjogJGZhLXZhci1maWxlLWNsaXBib2FyZCxcbiAgXCJjb2RlLXB1bGwtcmVxdWVzdFwiOiAkZmEtdmFyLWNvZGUtcHVsbC1yZXF1ZXN0LFxuICBcImNsaXBib2FyZC1saXN0XCI6ICRmYS12YXItY2xpcGJvYXJkLWxpc3QsXG4gIFwidHJ1Y2stcmFtcC1ib3hcIjogJGZhLXZhci10cnVjay1yYW1wLWJveCxcbiAgXCJ0cnVjay1sb2FkaW5nXCI6ICRmYS12YXItdHJ1Y2stbG9hZGluZyxcbiAgXCJ1c2VyLWNoZWNrXCI6ICRmYS12YXItdXNlci1jaGVjayxcbiAgXCJ2aWFsLXZpcnVzXCI6ICRmYS12YXItdmlhbC12aXJ1cyxcbiAgXCJzaGVldC1wbGFzdGljXCI6ICRmYS12YXItc2hlZXQtcGxhc3RpYyxcbiAgXCJibG9nXCI6ICRmYS12YXItYmxvZyxcbiAgXCJ1c2VyLW5pbmphXCI6ICRmYS12YXItdXNlci1uaW5qYSxcbiAgXCJwZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lXCI6ICRmYS12YXItcGVyc29uLWFycm93LXVwLWZyb20tbGluZSxcbiAgXCJzY3JvbGwtdG9yYWhcIjogJGZhLXZhci1zY3JvbGwtdG9yYWgsXG4gIFwidG9yYWhcIjogJGZhLXZhci10b3JhaCxcbiAgXCJicm9vbS1iYWxsXCI6ICRmYS12YXItYnJvb20tYmFsbCxcbiAgXCJxdWlkZGl0Y2hcIjogJGZhLXZhci1xdWlkZGl0Y2gsXG4gIFwicXVpZGRpdGNoLWJyb29tLWJhbGxcIjogJGZhLXZhci1xdWlkZGl0Y2gtYnJvb20tYmFsbCxcbiAgXCJ0b2dnbGUtb2ZmXCI6ICRmYS12YXItdG9nZ2xlLW9mZixcbiAgXCJib3gtYXJjaGl2ZVwiOiAkZmEtdmFyLWJveC1hcmNoaXZlLFxuICBcImFyY2hpdmVcIjogJGZhLXZhci1hcmNoaXZlLFxuICBcInBlcnNvbi1kcm93bmluZ1wiOiAkZmEtdmFyLXBlcnNvbi1kcm93bmluZyxcbiAgXCJhcnJvdy1kb3duLTktMVwiOiAkZmEtdmFyLWFycm93LWRvd24tOS0xLFxuICBcInNvcnQtbnVtZXJpYy1kZXNjXCI6ICRmYS12YXItc29ydC1udW1lcmljLWRlc2MsXG4gIFwic29ydC1udW1lcmljLWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0LFxuICBcImZhY2UtZ3Jpbi10b25ndWUtc3F1aW50XCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQsXG4gIFwiZ3Jpbi10b25ndWUtc3F1aW50XCI6ICRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50LFxuICBcInNwcmF5LWNhblwiOiAkZmEtdmFyLXNwcmF5LWNhbixcbiAgXCJ0cnVjay1tb25zdGVyXCI6ICRmYS12YXItdHJ1Y2stbW9uc3RlcixcbiAgXCJ3XCI6ICRmYS12YXItdyxcbiAgXCJlYXJ0aC1hZnJpY2FcIjogJGZhLXZhci1lYXJ0aC1hZnJpY2EsXG4gIFwiZ2xvYmUtYWZyaWNhXCI6ICRmYS12YXItZ2xvYmUtYWZyaWNhLFxuICBcInJhaW5ib3dcIjogJGZhLXZhci1yYWluYm93LFxuICBcImNpcmNsZS1ub3RjaFwiOiAkZmEtdmFyLWNpcmNsZS1ub3RjaCxcbiAgXCJ0YWJsZXQtc2NyZWVuLWJ1dHRvblwiOiAkZmEtdmFyLXRhYmxldC1zY3JlZW4tYnV0dG9uLFxuICBcInRhYmxldC1hbHRcIjogJGZhLXZhci10YWJsZXQtYWx0LFxuICBcInBhd1wiOiAkZmEtdmFyLXBhdyxcbiAgXCJjbG91ZFwiOiAkZmEtdmFyLWNsb3VkLFxuICBcInRyb3dlbC1icmlja3NcIjogJGZhLXZhci10cm93ZWwtYnJpY2tzLFxuICBcImZhY2UtZmx1c2hlZFwiOiAkZmEtdmFyLWZhY2UtZmx1c2hlZCxcbiAgXCJmbHVzaGVkXCI6ICRmYS12YXItZmx1c2hlZCxcbiAgXCJob3NwaXRhbC11c2VyXCI6ICRmYS12YXItaG9zcGl0YWwtdXNlcixcbiAgXCJ0ZW50LWFycm93LWxlZnQtcmlnaHRcIjogJGZhLXZhci10ZW50LWFycm93LWxlZnQtcmlnaHQsXG4gIFwiZ2F2ZWxcIjogJGZhLXZhci1nYXZlbCxcbiAgXCJsZWdhbFwiOiAkZmEtdmFyLWxlZ2FsLFxuICBcImJpbm9jdWxhcnNcIjogJGZhLXZhci1iaW5vY3VsYXJzLFxuICBcIm1pY3JvcGhvbmUtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLXNsYXNoLFxuICBcImJveC10aXNzdWVcIjogJGZhLXZhci1ib3gtdGlzc3VlLFxuICBcIm1vdG9yY3ljbGVcIjogJGZhLXZhci1tb3RvcmN5Y2xlLFxuICBcImJlbGwtY29uY2llcmdlXCI6ICRmYS12YXItYmVsbC1jb25jaWVyZ2UsXG4gIFwiY29uY2llcmdlLWJlbGxcIjogJGZhLXZhci1jb25jaWVyZ2UtYmVsbCxcbiAgXCJwZW4tcnVsZXJcIjogJGZhLXZhci1wZW4tcnVsZXIsXG4gIFwicGVuY2lsLXJ1bGVyXCI6ICRmYS12YXItcGVuY2lsLXJ1bGVyLFxuICBcInBlb3BsZS1hcnJvd3NcIjogJGZhLXZhci1wZW9wbGUtYXJyb3dzLFxuICBcInBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodFwiOiAkZmEtdmFyLXBlb3BsZS1hcnJvd3MtbGVmdC1yaWdodCxcbiAgXCJtYXJzLWFuZC12ZW51cy1idXJzdFwiOiAkZmEtdmFyLW1hcnMtYW5kLXZlbnVzLWJ1cnN0LFxuICBcInNxdWFyZS1jYXJldC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1yaWdodCxcbiAgXCJjYXJldC1zcXVhcmUtcmlnaHRcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQsXG4gIFwic2Npc3NvcnNcIjogJGZhLXZhci1zY2lzc29ycyxcbiAgXCJjdXRcIjogJGZhLXZhci1jdXQsXG4gIFwic3VuLXBsYW50LXdpbHRcIjogJGZhLXZhci1zdW4tcGxhbnQtd2lsdCxcbiAgXCJ0b2lsZXRzLXBvcnRhYmxlXCI6ICRmYS12YXItdG9pbGV0cy1wb3J0YWJsZSxcbiAgXCJob2NrZXktcHVja1wiOiAkZmEtdmFyLWhvY2tleS1wdWNrLFxuICBcInRhYmxlXCI6ICRmYS12YXItdGFibGUsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQsXG4gIFwidGFjaG9ncmFwaC1kaWdpdGFsXCI6ICRmYS12YXItdGFjaG9ncmFwaC1kaWdpdGFsLFxuICBcImRpZ2l0YWwtdGFjaG9ncmFwaFwiOiAkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCxcbiAgXCJ1c2Vycy1zbGFzaFwiOiAkZmEtdmFyLXVzZXJzLXNsYXNoLFxuICBcImNsb3ZlclwiOiAkZmEtdmFyLWNsb3ZlcixcbiAgXCJyZXBseVwiOiAkZmEtdmFyLXJlcGx5LFxuICBcIm1haWwtcmVwbHlcIjogJGZhLXZhci1tYWlsLXJlcGx5LFxuICBcInN0YXItYW5kLWNyZXNjZW50XCI6ICRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQsXG4gIFwiaG91c2UtZmlyZVwiOiAkZmEtdmFyLWhvdXNlLWZpcmUsXG4gIFwic3F1YXJlLW1pbnVzXCI6ICRmYS12YXItc3F1YXJlLW1pbnVzLFxuICBcIm1pbnVzLXNxdWFyZVwiOiAkZmEtdmFyLW1pbnVzLXNxdWFyZSxcbiAgXCJoZWxpY29wdGVyXCI6ICRmYS12YXItaGVsaWNvcHRlcixcbiAgXCJjb21wYXNzXCI6ICRmYS12YXItY29tcGFzcyxcbiAgXCJzcXVhcmUtY2FyZXQtZG93blwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1kb3duLFxuICBcImNhcmV0LXNxdWFyZS1kb3duXCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLWRvd24sXG4gIFwiZmlsZS1jaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1maWxlLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJsYXB0b3AtY29kZVwiOiAkZmEtdmFyLWxhcHRvcC1jb2RlLFxuICBcInN3YXRjaGJvb2tcIjogJGZhLXZhci1zd2F0Y2hib29rLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGVcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLFxuICBcImJhcnNcIjogJGZhLXZhci1iYXJzLFxuICBcIm5hdmljb25cIjogJGZhLXZhci1uYXZpY29uLFxuICBcInBlb3BsZS1ncm91cFwiOiAkZmEtdmFyLXBlb3BsZS1ncm91cCxcbiAgXCJob3VyZ2xhc3MtZW5kXCI6ICRmYS12YXItaG91cmdsYXNzLWVuZCxcbiAgXCJob3VyZ2xhc3MtM1wiOiAkZmEtdmFyLWhvdXJnbGFzcy0zLFxuICBcImhlYXJ0LWNyYWNrXCI6ICRmYS12YXItaGVhcnQtY3JhY2ssXG4gIFwiaGVhcnQtYnJva2VuXCI6ICRmYS12YXItaGVhcnQtYnJva2VuLFxuICBcInNxdWFyZS11cC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS11cC1yaWdodCxcbiAgXCJleHRlcm5hbC1saW5rLXNxdWFyZS1hbHRcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZS1hbHQsXG4gIFwiZmFjZS1raXNzLWJlYW1cIjogJGZhLXZhci1mYWNlLWtpc3MtYmVhbSxcbiAgXCJraXNzLWJlYW1cIjogJGZhLXZhci1raXNzLWJlYW0sXG4gIFwiZmlsbVwiOiAkZmEtdmFyLWZpbG0sXG4gIFwicnVsZXItaG9yaXpvbnRhbFwiOiAkZmEtdmFyLXJ1bGVyLWhvcml6b250YWwsXG4gIFwicGVvcGxlLXJvYmJlcnlcIjogJGZhLXZhci1wZW9wbGUtcm9iYmVyeSxcbiAgXCJsaWdodGJ1bGJcIjogJGZhLXZhci1saWdodGJ1bGIsXG4gIFwiY2FyZXQtbGVmdFwiOiAkZmEtdmFyLWNhcmV0LWxlZnQsXG4gIFwiY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImV4Y2xhbWF0aW9uLWNpcmNsZVwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSxcbiAgXCJzY2hvb2wtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS14bWFyayxcbiAgXCJhcnJvdy1yaWdodC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQsXG4gIFwic2lnbi1vdXRcIjogJGZhLXZhci1zaWduLW91dCxcbiAgXCJjaXJjbGUtY2hldnJvbi1kb3duXCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tZG93bixcbiAgXCJjaGV2cm9uLWNpcmNsZS1kb3duXCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bixcbiAgXCJ1bmxvY2sta2V5aG9sZVwiOiAkZmEtdmFyLXVubG9jay1rZXlob2xlLFxuICBcInVubG9jay1hbHRcIjogJGZhLXZhci11bmxvY2stYWx0LFxuICBcImNsb3VkLXNob3dlcnMtaGVhdnlcIjogJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5LFxuICBcImhlYWRwaG9uZXMtc2ltcGxlXCI6ICRmYS12YXItaGVhZHBob25lcy1zaW1wbGUsXG4gIFwiaGVhZHBob25lcy1hbHRcIjogJGZhLXZhci1oZWFkcGhvbmVzLWFsdCxcbiAgXCJzaXRlbWFwXCI6ICRmYS12YXItc2l0ZW1hcCxcbiAgXCJjaXJjbGUtZG9sbGFyLXRvLXNsb3RcIjogJGZhLXZhci1jaXJjbGUtZG9sbGFyLXRvLXNsb3QsXG4gIFwiZG9uYXRlXCI6ICRmYS12YXItZG9uYXRlLFxuICBcIm1lbW9yeVwiOiAkZmEtdmFyLW1lbW9yeSxcbiAgXCJyb2FkLXNwaWtlc1wiOiAkZmEtdmFyLXJvYWQtc3Bpa2VzLFxuICBcImZpcmUtYnVybmVyXCI6ICRmYS12YXItZmlyZS1idXJuZXIsXG4gIFwiZmxhZ1wiOiAkZmEtdmFyLWZsYWcsXG4gIFwiaGFudWtpYWhcIjogJGZhLXZhci1oYW51a2lhaCxcbiAgXCJmZWF0aGVyXCI6ICRmYS12YXItZmVhdGhlcixcbiAgXCJ2b2x1bWUtbG93XCI6ICRmYS12YXItdm9sdW1lLWxvdyxcbiAgXCJ2b2x1bWUtZG93blwiOiAkZmEtdmFyLXZvbHVtZS1kb3duLFxuICBcImNvbW1lbnQtc2xhc2hcIjogJGZhLXZhci1jb21tZW50LXNsYXNoLFxuICBcImNsb3VkLXN1bi1yYWluXCI6ICRmYS12YXItY2xvdWQtc3VuLXJhaW4sXG4gIFwiY29tcHJlc3NcIjogJGZhLXZhci1jb21wcmVzcyxcbiAgXCJ3aGVhdC1hd25cIjogJGZhLXZhci13aGVhdC1hd24sXG4gIFwid2hlYXQtYWx0XCI6ICRmYS12YXItd2hlYXQtYWx0LFxuICBcImFua2hcIjogJGZhLXZhci1hbmtoLFxuICBcImhhbmRzLWhvbGRpbmctY2hpbGRcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNoaWxkLFxuICBcImFzdGVyaXNrXCI6ICRmYS12YXItYXN0ZXJpc2ssXG4gIFwic3F1YXJlLWNoZWNrXCI6ICRmYS12YXItc3F1YXJlLWNoZWNrLFxuICBcImNoZWNrLXNxdWFyZVwiOiAkZmEtdmFyLWNoZWNrLXNxdWFyZSxcbiAgXCJwZXNldGEtc2lnblwiOiAkZmEtdmFyLXBlc2V0YS1zaWduLFxuICBcImhlYWRpbmdcIjogJGZhLXZhci1oZWFkaW5nLFxuICBcImhlYWRlclwiOiAkZmEtdmFyLWhlYWRlcixcbiAgXCJnaG9zdFwiOiAkZmEtdmFyLWdob3N0LFxuICBcImxpc3RcIjogJGZhLXZhci1saXN0LFxuICBcImxpc3Qtc3F1YXJlc1wiOiAkZmEtdmFyLWxpc3Qtc3F1YXJlcyxcbiAgXCJzcXVhcmUtcGhvbmUtZmxpcFwiOiAkZmEtdmFyLXNxdWFyZS1waG9uZS1mbGlwLFxuICBcInBob25lLXNxdWFyZS1hbHRcIjogJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0LFxuICBcImNhcnQtcGx1c1wiOiAkZmEtdmFyLWNhcnQtcGx1cyxcbiAgXCJnYW1lcGFkXCI6ICRmYS12YXItZ2FtZXBhZCxcbiAgXCJjaXJjbGUtZG90XCI6ICRmYS12YXItY2lyY2xlLWRvdCxcbiAgXCJkb3QtY2lyY2xlXCI6ICRmYS12YXItZG90LWNpcmNsZSxcbiAgXCJmYWNlLWRpenp5XCI6ICRmYS12YXItZmFjZS1kaXp6eSxcbiAgXCJkaXp6eVwiOiAkZmEtdmFyLWRpenp5LFxuICBcImVnZ1wiOiAkZmEtdmFyLWVnZyxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrLFxuICBcImNhbXBncm91bmRcIjogJGZhLXZhci1jYW1wZ3JvdW5kLFxuICBcImZvbGRlci1wbHVzXCI6ICRmYS12YXItZm9sZGVyLXBsdXMsXG4gIFwiZnV0Ym9sXCI6ICRmYS12YXItZnV0Ym9sLFxuICBcImZ1dGJvbC1iYWxsXCI6ICRmYS12YXItZnV0Ym9sLWJhbGwsXG4gIFwic29jY2VyLWJhbGxcIjogJGZhLXZhci1zb2NjZXItYmFsbCxcbiAgXCJwYWludGJydXNoXCI6ICRmYS12YXItcGFpbnRicnVzaCxcbiAgXCJwYWludC1icnVzaFwiOiAkZmEtdmFyLXBhaW50LWJydXNoLFxuICBcImxvY2tcIjogJGZhLXZhci1sb2NrLFxuICBcImdhcy1wdW1wXCI6ICRmYS12YXItZ2FzLXB1bXAsXG4gIFwiaG90LXR1Yi1wZXJzb25cIjogJGZhLXZhci1ob3QtdHViLXBlcnNvbixcbiAgXCJob3QtdHViXCI6ICRmYS12YXItaG90LXR1YixcbiAgXCJtYXAtbG9jYXRpb25cIjogJGZhLXZhci1tYXAtbG9jYXRpb24sXG4gIFwibWFwLW1hcmtlZFwiOiAkZmEtdmFyLW1hcC1tYXJrZWQsXG4gIFwiaG91c2UtZmxvb2Qtd2F0ZXJcIjogJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlcixcbiAgXCJ0cmVlXCI6ICRmYS12YXItdHJlZSxcbiAgXCJicmlkZ2UtbG9ja1wiOiAkZmEtdmFyLWJyaWRnZS1sb2NrLFxuICBcInNhY2stZG9sbGFyXCI6ICRmYS12YXItc2Fjay1kb2xsYXIsXG4gIFwicGVuLXRvLXNxdWFyZVwiOiAkZmEtdmFyLXBlbi10by1zcXVhcmUsXG4gIFwiZWRpdFwiOiAkZmEtdmFyLWVkaXQsXG4gIFwiY2FyLXNpZGVcIjogJGZhLXZhci1jYXItc2lkZSxcbiAgXCJzaGFyZS1ub2Rlc1wiOiAkZmEtdmFyLXNoYXJlLW5vZGVzLFxuICBcInNoYXJlLWFsdFwiOiAkZmEtdmFyLXNoYXJlLWFsdCxcbiAgXCJoZWFydC1jaXJjbGUtbWludXNcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtbWludXMsXG4gIFwiaG91cmdsYXNzLWhhbGZcIjogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZixcbiAgXCJob3VyZ2xhc3MtMlwiOiAkZmEtdmFyLWhvdXJnbGFzcy0yLFxuICBcIm1pY3Jvc2NvcGVcIjogJGZhLXZhci1taWNyb3Njb3BlLFxuICBcInNpbmtcIjogJGZhLXZhci1zaW5rLFxuICBcImJhZy1zaG9wcGluZ1wiOiAkZmEtdmFyLWJhZy1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1iYWdcIjogJGZhLXZhci1zaG9wcGluZy1iYWcsXG4gIFwiYXJyb3ctZG93bi16LWFcIjogJGZhLXZhci1hcnJvdy1kb3duLXotYSxcbiAgXCJzb3J0LWFscGhhLWRlc2NcIjogJGZhLXZhci1zb3J0LWFscGhhLWRlc2MsXG4gIFwic29ydC1hbHBoYS1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQsXG4gIFwibWl0dGVuXCI6ICRmYS12YXItbWl0dGVuLFxuICBcInBlcnNvbi1yYXlzXCI6ICRmYS12YXItcGVyc29uLXJheXMsXG4gIFwidXNlcnNcIjogJGZhLXZhci11c2VycyxcbiAgXCJleWUtc2xhc2hcIjogJGZhLXZhci1leWUtc2xhc2gsXG4gIFwiZmxhc2stdmlhbFwiOiAkZmEtdmFyLWZsYXNrLXZpYWwsXG4gIFwiaGFuZFwiOiAkZmEtdmFyLWhhbmQsXG4gIFwiaGFuZC1wYXBlclwiOiAkZmEtdmFyLWhhbmQtcGFwZXIsXG4gIFwib21cIjogJGZhLXZhci1vbSxcbiAgXCJ3b3JtXCI6ICRmYS12YXItd29ybSxcbiAgXCJob3VzZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1ob3VzZS1jaXJjbGUteG1hcmssXG4gIFwicGx1Z1wiOiAkZmEtdmFyLXBsdWcsXG4gIFwiY2hldnJvbi11cFwiOiAkZmEtdmFyLWNoZXZyb24tdXAsXG4gIFwiaGFuZC1zcG9ja1wiOiAkZmEtdmFyLWhhbmQtc3BvY2ssXG4gIFwic3RvcHdhdGNoXCI6ICRmYS12YXItc3RvcHdhdGNoLFxuICBcImZhY2Uta2lzc1wiOiAkZmEtdmFyLWZhY2Uta2lzcyxcbiAgXCJraXNzXCI6ICRmYS12YXIta2lzcyxcbiAgXCJicmlkZ2UtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS14bWFyayxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlXCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZSxcbiAgXCJncmluLXRvbmd1ZVwiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLFxuICBcImNoZXNzLWJpc2hvcFwiOiAkZmEtdmFyLWNoZXNzLWJpc2hvcCxcbiAgXCJmYWNlLWdyaW4td2lua1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi13aW5rLFxuICBcImdyaW4td2lua1wiOiAkZmEtdmFyLWdyaW4td2luayxcbiAgXCJlYXItZGVhZlwiOiAkZmEtdmFyLWVhci1kZWFmLFxuICBcImRlYWZcIjogJGZhLXZhci1kZWFmLFxuICBcImRlYWZuZXNzXCI6ICRmYS12YXItZGVhZm5lc3MsXG4gIFwiaGFyZC1vZi1oZWFyaW5nXCI6ICRmYS12YXItaGFyZC1vZi1oZWFyaW5nLFxuICBcInJvYWQtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcm9hZC1jaXJjbGUtY2hlY2ssXG4gIFwiZGljZS1maXZlXCI6ICRmYS12YXItZGljZS1maXZlLFxuICBcInNxdWFyZS1yc3NcIjogJGZhLXZhci1zcXVhcmUtcnNzLFxuICBcInJzcy1zcXVhcmVcIjogJGZhLXZhci1yc3Mtc3F1YXJlLFxuICBcImxhbmQtbWluZS1vblwiOiAkZmEtdmFyLWxhbmQtbWluZS1vbixcbiAgXCJpLWN1cnNvclwiOiAkZmEtdmFyLWktY3Vyc29yLFxuICBcInN0YW1wXCI6ICRmYS12YXItc3RhbXAsXG4gIFwic3RhaXJzXCI6ICRmYS12YXItc3RhaXJzLFxuICBcImlcIjogJGZhLXZhci1pLFxuICBcImhyeXZuaWEtc2lnblwiOiAkZmEtdmFyLWhyeXZuaWEtc2lnbixcbiAgXCJocnl2bmlhXCI6ICRmYS12YXItaHJ5dm5pYSxcbiAgXCJwaWxsc1wiOiAkZmEtdmFyLXBpbGxzLFxuICBcImZhY2UtZ3Jpbi13aWRlXCI6ICRmYS12YXItZmFjZS1ncmluLXdpZGUsXG4gIFwiZ3Jpbi1hbHRcIjogJGZhLXZhci1ncmluLWFsdCxcbiAgXCJ0b290aFwiOiAkZmEtdmFyLXRvb3RoLFxuICBcInZcIjogJGZhLXZhci12LFxuICBcImJhbmdsYWRlc2hpLXRha2Etc2lnblwiOiAkZmEtdmFyLWJhbmdsYWRlc2hpLXRha2Etc2lnbixcbiAgXCJiaWN5Y2xlXCI6ICRmYS12YXItYmljeWNsZSxcbiAgXCJzdGFmZi1zbmFrZVwiOiAkZmEtdmFyLXN0YWZmLXNuYWtlLFxuICBcInJvZC1hc2NsZXBpdXNcIjogJGZhLXZhci1yb2QtYXNjbGVwaXVzLFxuICBcInJvZC1zbmFrZVwiOiAkZmEtdmFyLXJvZC1zbmFrZSxcbiAgXCJzdGFmZi1hZXNjdWxhcGl1c1wiOiAkZmEtdmFyLXN0YWZmLWFlc2N1bGFwaXVzLFxuICBcImhlYWQtc2lkZS1jb3VnaC1zbGFzaFwiOiAkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaCxcbiAgXCJ0cnVjay1tZWRpY2FsXCI6ICRmYS12YXItdHJ1Y2stbWVkaWNhbCxcbiAgXCJhbWJ1bGFuY2VcIjogJGZhLXZhci1hbWJ1bGFuY2UsXG4gIFwid2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXdoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwic25vd21hblwiOiAkZmEtdmFyLXNub3dtYW4sXG4gIFwibW9ydGFyLXBlc3RsZVwiOiAkZmEtdmFyLW1vcnRhci1wZXN0bGUsXG4gIFwicm9hZC1iYXJyaWVyXCI6ICRmYS12YXItcm9hZC1iYXJyaWVyLFxuICBcInNjaG9vbFwiOiAkZmEtdmFyLXNjaG9vbCxcbiAgXCJpZ2xvb1wiOiAkZmEtdmFyLWlnbG9vLFxuICBcImpvaW50XCI6ICRmYS12YXItam9pbnQsXG4gIFwiYW5nbGUtcmlnaHRcIjogJGZhLXZhci1hbmdsZS1yaWdodCxcbiAgXCJob3JzZVwiOiAkZmEtdmFyLWhvcnNlLFxuICBcInFcIjogJGZhLXZhci1xLFxuICBcImdcIjogJGZhLXZhci1nLFxuICBcIm5vdGVzLW1lZGljYWxcIjogJGZhLXZhci1ub3Rlcy1tZWRpY2FsLFxuICBcInRlbXBlcmF0dXJlLWhhbGZcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1oYWxmLFxuICBcInRlbXBlcmF0dXJlLTJcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0yLFxuICBcInRoZXJtb21ldGVyLTJcIjogJGZhLXZhci10aGVybW9tZXRlci0yLFxuICBcInRoZXJtb21ldGVyLWhhbGZcIjogJGZhLXZhci10aGVybW9tZXRlci1oYWxmLFxuICBcImRvbmctc2lnblwiOiAkZmEtdmFyLWRvbmctc2lnbixcbiAgXCJjYXBzdWxlc1wiOiAkZmEtdmFyLWNhcHN1bGVzLFxuICBcInBvby1zdG9ybVwiOiAkZmEtdmFyLXBvby1zdG9ybSxcbiAgXCJwb28tYm9sdFwiOiAkZmEtdmFyLXBvby1ib2x0LFxuICBcImZhY2UtZnJvd24tb3BlblwiOiAkZmEtdmFyLWZhY2UtZnJvd24tb3BlbixcbiAgXCJmcm93bi1vcGVuXCI6ICRmYS12YXItZnJvd24tb3BlbixcbiAgXCJoYW5kLXBvaW50LXVwXCI6ICRmYS12YXItaGFuZC1wb2ludC11cCxcbiAgXCJtb25leS1iaWxsXCI6ICRmYS12YXItbW9uZXktYmlsbCxcbiAgXCJib29rbWFya1wiOiAkZmEtdmFyLWJvb2ttYXJrLFxuICBcImFsaWduLWp1c3RpZnlcIjogJGZhLXZhci1hbGlnbi1qdXN0aWZ5LFxuICBcInVtYnJlbGxhLWJlYWNoXCI6ICRmYS12YXItdW1icmVsbGEtYmVhY2gsXG4gIFwiaGVsbWV0LXVuXCI6ICRmYS12YXItaGVsbWV0LXVuLFxuICBcImJ1bGxzZXllXCI6ICRmYS12YXItYnVsbHNleWUsXG4gIFwiYmFjb25cIjogJGZhLXZhci1iYWNvbixcbiAgXCJoYW5kLXBvaW50LWRvd25cIjogJGZhLXZhci1oYW5kLXBvaW50LWRvd24sXG4gIFwiYXJyb3ctdXAtZnJvbS1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS1icmFja2V0LFxuICBcImZvbGRlclwiOiAkZmEtdmFyLWZvbGRlcixcbiAgXCJmb2xkZXItYmxhbmtcIjogJGZhLXZhci1mb2xkZXItYmxhbmssXG4gIFwiZmlsZS13YXZlZm9ybVwiOiAkZmEtdmFyLWZpbGUtd2F2ZWZvcm0sXG4gIFwiZmlsZS1tZWRpY2FsLWFsdFwiOiAkZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQsXG4gIFwicmFkaWF0aW9uXCI6ICRmYS12YXItcmFkaWF0aW9uLFxuICBcImNoYXJ0LXNpbXBsZVwiOiAkZmEtdmFyLWNoYXJ0LXNpbXBsZSxcbiAgXCJtYXJzLXN0cm9rZVwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLFxuICBcInZpYWxcIjogJGZhLXZhci12aWFsLFxuICBcImdhdWdlXCI6ICRmYS12YXItZ2F1Z2UsXG4gIFwiZGFzaGJvYXJkXCI6ICRmYS12YXItZGFzaGJvYXJkLFxuICBcImdhdWdlLW1lZFwiOiAkZmEtdmFyLWdhdWdlLW1lZCxcbiAgXCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlXCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQtYXZlcmFnZSxcbiAgXCJ3YW5kLW1hZ2ljLXNwYXJrbGVzXCI6ICRmYS12YXItd2FuZC1tYWdpYy1zcGFya2xlcyxcbiAgXCJtYWdpYy13YW5kLXNwYXJrbGVzXCI6ICRmYS12YXItbWFnaWMtd2FuZC1zcGFya2xlcyxcbiAgXCJlXCI6ICRmYS12YXItZSxcbiAgXCJwZW4tY2xpcFwiOiAkZmEtdmFyLXBlbi1jbGlwLFxuICBcInBlbi1hbHRcIjogJGZhLXZhci1wZW4tYWx0LFxuICBcImJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInVzZXJcIjogJGZhLXZhci11c2VyLFxuICBcInNjaG9vbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLWNoZWNrLFxuICBcImR1bXBzdGVyXCI6ICRmYS12YXItZHVtcHN0ZXIsXG4gIFwidmFuLXNodXR0bGVcIjogJGZhLXZhci12YW4tc2h1dHRsZSxcbiAgXCJzaHV0dGxlLXZhblwiOiAkZmEtdmFyLXNodXR0bGUtdmFuLFxuICBcImJ1aWxkaW5nLXVzZXJcIjogJGZhLXZhci1idWlsZGluZy11c2VyLFxuICBcInNxdWFyZS1jYXJldC1sZWZ0XCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LWxlZnQsXG4gIFwiY2FyZXQtc3F1YXJlLWxlZnRcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtbGVmdCxcbiAgXCJoaWdobGlnaHRlclwiOiAkZmEtdmFyLWhpZ2hsaWdodGVyLFxuICBcImtleVwiOiAkZmEtdmFyLWtleSxcbiAgXCJidWxsaG9yblwiOiAkZmEtdmFyLWJ1bGxob3JuLFxuICBcImdsb2JlXCI6ICRmYS12YXItZ2xvYmUsXG4gIFwic3luYWdvZ3VlXCI6ICRmYS12YXItc3luYWdvZ3VlLFxuICBcInBlcnNvbi1oYWxmLWRyZXNzXCI6ICRmYS12YXItcGVyc29uLWhhbGYtZHJlc3MsXG4gIFwicm9hZC1icmlkZ2VcIjogJGZhLXZhci1yb2FkLWJyaWRnZSxcbiAgXCJsb2NhdGlvbi1hcnJvd1wiOiAkZmEtdmFyLWxvY2F0aW9uLWFycm93LFxuICBcImNcIjogJGZhLXZhci1jLFxuICBcInRhYmxldC1idXR0b25cIjogJGZhLXZhci10YWJsZXQtYnV0dG9uLFxuICBcImJ1aWxkaW5nLWxvY2tcIjogJGZhLXZhci1idWlsZGluZy1sb2NrLFxuICBcInBpenphLXNsaWNlXCI6ICRmYS12YXItcGl6emEtc2xpY2UsXG4gIFwibW9uZXktYmlsbC13YXZlXCI6ICRmYS12YXItbW9uZXktYmlsbC13YXZlLFxuICBcImNoYXJ0LWFyZWFcIjogJGZhLXZhci1jaGFydC1hcmVhLFxuICBcImFyZWEtY2hhcnRcIjogJGZhLXZhci1hcmVhLWNoYXJ0LFxuICBcImhvdXNlLWZsYWdcIjogJGZhLXZhci1ob3VzZS1mbGFnLFxuICBcInBlcnNvbi1jaXJjbGUtbWludXNcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLW1pbnVzLFxuICBcImJhblwiOiAkZmEtdmFyLWJhbixcbiAgXCJjYW5jZWxcIjogJGZhLXZhci1jYW5jZWwsXG4gIFwiY2FtZXJhLXJvdGF0ZVwiOiAkZmEtdmFyLWNhbWVyYS1yb3RhdGUsXG4gIFwic3ByYXktY2FuLXNwYXJrbGVzXCI6ICRmYS12YXItc3ByYXktY2FuLXNwYXJrbGVzLFxuICBcImFpci1mcmVzaGVuZXJcIjogJGZhLXZhci1haXItZnJlc2hlbmVyLFxuICBcInN0YXJcIjogJGZhLXZhci1zdGFyLFxuICBcInJlcGVhdFwiOiAkZmEtdmFyLXJlcGVhdCxcbiAgXCJjcm9zc1wiOiAkZmEtdmFyLWNyb3NzLFxuICBcImJveFwiOiAkZmEtdmFyLWJveCxcbiAgXCJ2ZW51cy1tYXJzXCI6ICRmYS12YXItdmVudXMtbWFycyxcbiAgXCJhcnJvdy1wb2ludGVyXCI6ICRmYS12YXItYXJyb3ctcG9pbnRlcixcbiAgXCJtb3VzZS1wb2ludGVyXCI6ICRmYS12YXItbW91c2UtcG9pbnRlcixcbiAgXCJtYXhpbWl6ZVwiOiAkZmEtdmFyLW1heGltaXplLFxuICBcImV4cGFuZC1hcnJvd3MtYWx0XCI6ICRmYS12YXItZXhwYW5kLWFycm93cy1hbHQsXG4gIFwiY2hhcmdpbmctc3RhdGlvblwiOiAkZmEtdmFyLWNoYXJnaW5nLXN0YXRpb24sXG4gIFwic2hhcGVzXCI6ICRmYS12YXItc2hhcGVzLFxuICBcInRyaWFuZ2xlLWNpcmNsZS1zcXVhcmVcIjogJGZhLXZhci10cmlhbmdsZS1jaXJjbGUtc3F1YXJlLFxuICBcInNodWZmbGVcIjogJGZhLXZhci1zaHVmZmxlLFxuICBcInJhbmRvbVwiOiAkZmEtdmFyLXJhbmRvbSxcbiAgXCJwZXJzb24tcnVubmluZ1wiOiAkZmEtdmFyLXBlcnNvbi1ydW5uaW5nLFxuICBcInJ1bm5pbmdcIjogJGZhLXZhci1ydW5uaW5nLFxuICBcIm1vYmlsZS1yZXRyb1wiOiAkZmEtdmFyLW1vYmlsZS1yZXRybyxcbiAgXCJncmlwLWxpbmVzLXZlcnRpY2FsXCI6ICRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbCxcbiAgXCJzcGlkZXJcIjogJGZhLXZhci1zcGlkZXIsXG4gIFwiaGFuZHMtYm91bmRcIjogJGZhLXZhci1oYW5kcy1ib3VuZCxcbiAgXCJmaWxlLWludm9pY2UtZG9sbGFyXCI6ICRmYS12YXItZmlsZS1pbnZvaWNlLWRvbGxhcixcbiAgXCJwbGFuZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wbGFuZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwieC1yYXlcIjogJGZhLXZhci14LXJheSxcbiAgXCJzcGVsbC1jaGVja1wiOiAkZmEtdmFyLXNwZWxsLWNoZWNrLFxuICBcInNsYXNoXCI6ICRmYS12YXItc2xhc2gsXG4gIFwiY29tcHV0ZXItbW91c2VcIjogJGZhLXZhci1jb21wdXRlci1tb3VzZSxcbiAgXCJtb3VzZVwiOiAkZmEtdmFyLW1vdXNlLFxuICBcImFycm93LXJpZ2h0LXRvLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1icmFja2V0LFxuICBcInNpZ24taW5cIjogJGZhLXZhci1zaWduLWluLFxuICBcInNob3Atc2xhc2hcIjogJGZhLXZhci1zaG9wLXNsYXNoLFxuICBcInN0b3JlLWFsdC1zbGFzaFwiOiAkZmEtdmFyLXN0b3JlLWFsdC1zbGFzaCxcbiAgXCJzZXJ2ZXJcIjogJGZhLXZhci1zZXJ2ZXIsXG4gIFwidmlydXMtY292aWQtc2xhc2hcIjogJGZhLXZhci12aXJ1cy1jb3ZpZC1zbGFzaCxcbiAgXCJzaG9wLWxvY2tcIjogJGZhLXZhci1zaG9wLWxvY2ssXG4gIFwiaG91cmdsYXNzLXN0YXJ0XCI6ICRmYS12YXItaG91cmdsYXNzLXN0YXJ0LFxuICBcImhvdXJnbGFzcy0xXCI6ICRmYS12YXItaG91cmdsYXNzLTEsXG4gIFwiYmxlbmRlci1waG9uZVwiOiAkZmEtdmFyLWJsZW5kZXItcGhvbmUsXG4gIFwiYnVpbGRpbmctd2hlYXRcIjogJGZhLXZhci1idWlsZGluZy13aGVhdCxcbiAgXCJwZXJzb24tYnJlYXN0ZmVlZGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1icmVhc3RmZWVkaW5nLFxuICBcInJpZ2h0LXRvLWJyYWNrZXRcIjogJGZhLXZhci1yaWdodC10by1icmFja2V0LFxuICBcInNpZ24taW4tYWx0XCI6ICRmYS12YXItc2lnbi1pbi1hbHQsXG4gIFwidmVudXNcIjogJGZhLXZhci12ZW51cyxcbiAgXCJwYXNzcG9ydFwiOiAkZmEtdmFyLXBhc3Nwb3J0LFxuICBcImhlYXJ0LXB1bHNlXCI6ICRmYS12YXItaGVhcnQtcHVsc2UsXG4gIFwiaGVhcnRiZWF0XCI6ICRmYS12YXItaGVhcnRiZWF0LFxuICBcInBlb3BsZS1jYXJyeS1ib3hcIjogJGZhLXZhci1wZW9wbGUtY2FycnktYm94LFxuICBcInBlb3BsZS1jYXJyeVwiOiAkZmEtdmFyLXBlb3BsZS1jYXJyeSxcbiAgXCJ0ZW1wZXJhdHVyZS1oaWdoXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCxcbiAgXCJtaWNyb2NoaXBcIjogJGZhLXZhci1taWNyb2NoaXAsXG4gIFwiY3Jvd25cIjogJGZhLXZhci1jcm93bixcbiAgXCJ3ZWlnaHQtaGFuZ2luZ1wiOiAkZmEtdmFyLXdlaWdodC1oYW5naW5nLFxuICBcInhtYXJrcy1saW5lc1wiOiAkZmEtdmFyLXhtYXJrcy1saW5lcyxcbiAgXCJmaWxlLXByZXNjcmlwdGlvblwiOiAkZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uLFxuICBcIndlaWdodC1zY2FsZVwiOiAkZmEtdmFyLXdlaWdodC1zY2FsZSxcbiAgXCJ3ZWlnaHRcIjogJGZhLXZhci13ZWlnaHQsXG4gIFwidXNlci1ncm91cFwiOiAkZmEtdmFyLXVzZXItZ3JvdXAsXG4gIFwidXNlci1mcmllbmRzXCI6ICRmYS12YXItdXNlci1mcmllbmRzLFxuICBcImFycm93LXVwLWEtelwiOiAkZmEtdmFyLWFycm93LXVwLWEteixcbiAgXCJzb3J0LWFscGhhLXVwXCI6ICRmYS12YXItc29ydC1hbHBoYS11cCxcbiAgXCJjaGVzcy1rbmlnaHRcIjogJGZhLXZhci1jaGVzcy1rbmlnaHQsXG4gIFwiZmFjZS1sYXVnaC1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWxhdWdoLXNxdWludCxcbiAgXCJsYXVnaC1zcXVpbnRcIjogJGZhLXZhci1sYXVnaC1zcXVpbnQsXG4gIFwid2hlZWxjaGFpclwiOiAkZmEtdmFyLXdoZWVsY2hhaXIsXG4gIFwiY2lyY2xlLWFycm93LXVwXCI6ICRmYS12YXItY2lyY2xlLWFycm93LXVwLFxuICBcImFycm93LWNpcmNsZS11cFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS11cCxcbiAgXCJ0b2dnbGUtb25cIjogJGZhLXZhci10b2dnbGUtb24sXG4gIFwicGVyc29uLXdhbGtpbmdcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZyxcbiAgXCJ3YWxraW5nXCI6ICRmYS12YXItd2Fsa2luZyxcbiAgXCJsXCI6ICRmYS12YXItbCxcbiAgXCJmaXJlXCI6ICRmYS12YXItZmlyZSxcbiAgXCJiZWQtcHVsc2VcIjogJGZhLXZhci1iZWQtcHVsc2UsXG4gIFwicHJvY2VkdXJlc1wiOiAkZmEtdmFyLXByb2NlZHVyZXMsXG4gIFwic2h1dHRsZS1zcGFjZVwiOiAkZmEtdmFyLXNodXR0bGUtc3BhY2UsXG4gIFwic3BhY2Utc2h1dHRsZVwiOiAkZmEtdmFyLXNwYWNlLXNodXR0bGUsXG4gIFwiZmFjZS1sYXVnaFwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gsXG4gIFwibGF1Z2hcIjogJGZhLXZhci1sYXVnaCxcbiAgXCJmb2xkZXItb3BlblwiOiAkZmEtdmFyLWZvbGRlci1vcGVuLFxuICBcImhlYXJ0LWNpcmNsZS1wbHVzXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLXBsdXMsXG4gIFwiY29kZS1mb3JrXCI6ICRmYS12YXItY29kZS1mb3JrLFxuICBcImNpdHlcIjogJGZhLXZhci1jaXR5LFxuICBcIm1pY3JvcGhvbmUtbGluZXNcIjogJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLFxuICBcIm1pY3JvcGhvbmUtYWx0XCI6ICRmYS12YXItbWljcm9waG9uZS1hbHQsXG4gIFwicGVwcGVyLWhvdFwiOiAkZmEtdmFyLXBlcHBlci1ob3QsXG4gIFwidW5sb2NrXCI6ICRmYS12YXItdW5sb2NrLFxuICBcImNvbG9uLXNpZ25cIjogJGZhLXZhci1jb2xvbi1zaWduLFxuICBcImhlYWRzZXRcIjogJGZhLXZhci1oZWFkc2V0LFxuICBcInN0b3JlLXNsYXNoXCI6ICRmYS12YXItc3RvcmUtc2xhc2gsXG4gIFwicm9hZC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1yb2FkLWNpcmNsZS14bWFyayxcbiAgXCJ1c2VyLW1pbnVzXCI6ICRmYS12YXItdXNlci1taW51cyxcbiAgXCJtYXJzLXN0cm9rZS11cFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXVwLFxuICBcIm1hcnMtc3Ryb2tlLXZcIjogJGZhLXZhci1tYXJzLXN0cm9rZS12LFxuICBcImNoYW1wYWduZS1nbGFzc2VzXCI6ICRmYS12YXItY2hhbXBhZ25lLWdsYXNzZXMsXG4gIFwiZ2xhc3MtY2hlZXJzXCI6ICRmYS12YXItZ2xhc3MtY2hlZXJzLFxuICBcImNsaXBib2FyZFwiOiAkZmEtdmFyLWNsaXBib2FyZCxcbiAgXCJob3VzZS1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1ob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZmlsZS1hcnJvdy11cFwiOiAkZmEtdmFyLWZpbGUtYXJyb3ctdXAsXG4gIFwiZmlsZS11cGxvYWRcIjogJGZhLXZhci1maWxlLXVwbG9hZCxcbiAgXCJ3aWZpXCI6ICRmYS12YXItd2lmaSxcbiAgXCJ3aWZpLTNcIjogJGZhLXZhci13aWZpLTMsXG4gIFwid2lmaS1zdHJvbmdcIjogJGZhLXZhci13aWZpLXN0cm9uZyxcbiAgXCJiYXRoXCI6ICRmYS12YXItYmF0aCxcbiAgXCJiYXRodHViXCI6ICRmYS12YXItYmF0aHR1YixcbiAgXCJ1bmRlcmxpbmVcIjogJGZhLXZhci11bmRlcmxpbmUsXG4gIFwidXNlci1wZW5cIjogJGZhLXZhci11c2VyLXBlbixcbiAgXCJ1c2VyLWVkaXRcIjogJGZhLXZhci11c2VyLWVkaXQsXG4gIFwic2lnbmF0dXJlXCI6ICRmYS12YXItc2lnbmF0dXJlLFxuICBcInN0cm9vcHdhZmVsXCI6ICRmYS12YXItc3Ryb29wd2FmZWwsXG4gIFwiYm9sZFwiOiAkZmEtdmFyLWJvbGQsXG4gIFwiYW5jaG9yLWxvY2tcIjogJGZhLXZhci1hbmNob3ItbG9jayxcbiAgXCJidWlsZGluZy1uZ29cIjogJGZhLXZhci1idWlsZGluZy1uZ28sXG4gIFwibWFuYXQtc2lnblwiOiAkZmEtdmFyLW1hbmF0LXNpZ24sXG4gIFwibm90LWVxdWFsXCI6ICRmYS12YXItbm90LWVxdWFsLFxuICBcImJvcmRlci10b3AtbGVmdFwiOiAkZmEtdmFyLWJvcmRlci10b3AtbGVmdCxcbiAgXCJib3JkZXItc3R5bGVcIjogJGZhLXZhci1ib3JkZXItc3R5bGUsXG4gIFwibWFwLWxvY2F0aW9uLWRvdFwiOiAkZmEtdmFyLW1hcC1sb2NhdGlvbi1kb3QsXG4gIFwibWFwLW1hcmtlZC1hbHRcIjogJGZhLXZhci1tYXAtbWFya2VkLWFsdCxcbiAgXCJqZWRpXCI6ICRmYS12YXItamVkaSxcbiAgXCJzcXVhcmUtcG9sbC12ZXJ0aWNhbFwiOiAkZmEtdmFyLXNxdWFyZS1wb2xsLXZlcnRpY2FsLFxuICBcInBvbGxcIjogJGZhLXZhci1wb2xsLFxuICBcIm11Zy1ob3RcIjogJGZhLXZhci1tdWctaG90LFxuICBcImNhci1iYXR0ZXJ5XCI6ICRmYS12YXItY2FyLWJhdHRlcnksXG4gIFwiYmF0dGVyeS1jYXJcIjogJGZhLXZhci1iYXR0ZXJ5LWNhcixcbiAgXCJnaWZ0XCI6ICRmYS12YXItZ2lmdCxcbiAgXCJkaWNlLXR3b1wiOiAkZmEtdmFyLWRpY2UtdHdvLFxuICBcImNoZXNzLXF1ZWVuXCI6ICRmYS12YXItY2hlc3MtcXVlZW4sXG4gIFwiZ2xhc3Nlc1wiOiAkZmEtdmFyLWdsYXNzZXMsXG4gIFwiY2hlc3MtYm9hcmRcIjogJGZhLXZhci1jaGVzcy1ib2FyZCxcbiAgXCJidWlsZGluZy1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLWNoYWxrYm9hcmRcIjogJGZhLXZhci1wZXJzb24tY2hhbGtib2FyZCxcbiAgXCJtYXJzLXN0cm9rZS1yaWdodFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXJpZ2h0LFxuICBcIm1hcnMtc3Ryb2tlLWhcIjogJGZhLXZhci1tYXJzLXN0cm9rZS1oLFxuICBcImhhbmQtYmFjay1maXN0XCI6ICRmYS12YXItaGFuZC1iYWNrLWZpc3QsXG4gIFwiaGFuZC1yb2NrXCI6ICRmYS12YXItaGFuZC1yb2NrLFxuICBcInNxdWFyZS1jYXJldC11cFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC11cCxcbiAgXCJjYXJldC1zcXVhcmUtdXBcIjogJGZhLXZhci1jYXJldC1zcXVhcmUtdXAsXG4gIFwiY2xvdWQtc2hvd2Vycy13YXRlclwiOiAkZmEtdmFyLWNsb3VkLXNob3dlcnMtd2F0ZXIsXG4gIFwiY2hhcnQtYmFyXCI6ICRmYS12YXItY2hhcnQtYmFyLFxuICBcImJhci1jaGFydFwiOiAkZmEtdmFyLWJhci1jaGFydCxcbiAgXCJoYW5kcy1idWJibGVzXCI6ICRmYS12YXItaGFuZHMtYnViYmxlcyxcbiAgXCJoYW5kcy13YXNoXCI6ICRmYS12YXItaGFuZHMtd2FzaCxcbiAgXCJsZXNzLXRoYW4tZXF1YWxcIjogJGZhLXZhci1sZXNzLXRoYW4tZXF1YWwsXG4gIFwidHJhaW5cIjogJGZhLXZhci10cmFpbixcbiAgXCJleWUtbG93LXZpc2lvblwiOiAkZmEtdmFyLWV5ZS1sb3ctdmlzaW9uLFxuICBcImxvdy12aXNpb25cIjogJGZhLXZhci1sb3ctdmlzaW9uLFxuICBcImNyb3dcIjogJGZhLXZhci1jcm93LFxuICBcInNhaWxib2F0XCI6ICRmYS12YXItc2FpbGJvYXQsXG4gIFwid2luZG93LXJlc3RvcmVcIjogJGZhLXZhci13aW5kb3ctcmVzdG9yZSxcbiAgXCJzcXVhcmUtcGx1c1wiOiAkZmEtdmFyLXNxdWFyZS1wbHVzLFxuICBcInBsdXMtc3F1YXJlXCI6ICRmYS12YXItcGx1cy1zcXVhcmUsXG4gIFwidG9yaWktZ2F0ZVwiOiAkZmEtdmFyLXRvcmlpLWdhdGUsXG4gIFwiZnJvZ1wiOiAkZmEtdmFyLWZyb2csXG4gIFwiYnVja2V0XCI6ICRmYS12YXItYnVja2V0LFxuICBcImltYWdlXCI6ICRmYS12YXItaW1hZ2UsXG4gIFwibWljcm9waG9uZVwiOiAkZmEtdmFyLW1pY3JvcGhvbmUsXG4gIFwiY293XCI6ICRmYS12YXItY293LFxuICBcImNhcmV0LXVwXCI6ICRmYS12YXItY2FyZXQtdXAsXG4gIFwic2NyZXdkcml2ZXJcIjogJGZhLXZhci1zY3Jld2RyaXZlcixcbiAgXCJmb2xkZXItY2xvc2VkXCI6ICRmYS12YXItZm9sZGVyLWNsb3NlZCxcbiAgXCJob3VzZS10c3VuYW1pXCI6ICRmYS12YXItaG91c2UtdHN1bmFtaSxcbiAgXCJzcXVhcmUtbmZpXCI6ICRmYS12YXItc3F1YXJlLW5maSxcbiAgXCJhcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlclwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyLFxuICBcIm1hcnRpbmktZ2xhc3NcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLFxuICBcImdsYXNzLW1hcnRpbmktYWx0XCI6ICRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQsXG4gIFwicm90YXRlLWxlZnRcIjogJGZhLXZhci1yb3RhdGUtbGVmdCxcbiAgXCJyb3RhdGUtYmFja1wiOiAkZmEtdmFyLXJvdGF0ZS1iYWNrLFxuICBcInJvdGF0ZS1iYWNrd2FyZFwiOiAkZmEtdmFyLXJvdGF0ZS1iYWNrd2FyZCxcbiAgXCJ1bmRvLWFsdFwiOiAkZmEtdmFyLXVuZG8tYWx0LFxuICBcInRhYmxlLWNvbHVtbnNcIjogJGZhLXZhci10YWJsZS1jb2x1bW5zLFxuICBcImNvbHVtbnNcIjogJGZhLXZhci1jb2x1bW5zLFxuICBcImxlbW9uXCI6ICRmYS12YXItbGVtb24sXG4gIFwiaGVhZC1zaWRlLW1hc2tcIjogJGZhLXZhci1oZWFkLXNpZGUtbWFzayxcbiAgXCJoYW5kc2hha2VcIjogJGZhLXZhci1oYW5kc2hha2UsXG4gIFwiZ2VtXCI6ICRmYS12YXItZ2VtLFxuICBcImRvbGx5XCI6ICRmYS12YXItZG9sbHksXG4gIFwiZG9sbHktYm94XCI6ICRmYS12YXItZG9sbHktYm94LFxuICBcInNtb2tpbmdcIjogJGZhLXZhci1zbW9raW5nLFxuICBcIm1pbmltaXplXCI6ICRmYS12YXItbWluaW1pemUsXG4gIFwiY29tcHJlc3MtYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQsXG4gIFwibW9udW1lbnRcIjogJGZhLXZhci1tb251bWVudCxcbiAgXCJzbm93cGxvd1wiOiAkZmEtdmFyLXNub3dwbG93LFxuICBcImFuZ2xlcy1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlcy1yaWdodCxcbiAgXCJhbmdsZS1kb3VibGUtcmlnaHRcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQsXG4gIFwiY2FubmFiaXNcIjogJGZhLXZhci1jYW5uYWJpcyxcbiAgXCJjaXJjbGUtcGxheVwiOiAkZmEtdmFyLWNpcmNsZS1wbGF5LFxuICBcInBsYXktY2lyY2xlXCI6ICRmYS12YXItcGxheS1jaXJjbGUsXG4gIFwidGFibGV0c1wiOiAkZmEtdmFyLXRhYmxldHMsXG4gIFwiZXRoZXJuZXRcIjogJGZhLXZhci1ldGhlcm5ldCxcbiAgXCJldXJvLXNpZ25cIjogJGZhLXZhci1ldXJvLXNpZ24sXG4gIFwiZXVyXCI6ICRmYS12YXItZXVyLFxuICBcImV1cm9cIjogJGZhLXZhci1ldXJvLFxuICBcImNoYWlyXCI6ICRmYS12YXItY2hhaXIsXG4gIFwiY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItY2lyY2xlLWNoZWNrLFxuICBcImNoZWNrLWNpcmNsZVwiOiAkZmEtdmFyLWNoZWNrLWNpcmNsZSxcbiAgXCJjaXJjbGUtc3RvcFwiOiAkZmEtdmFyLWNpcmNsZS1zdG9wLFxuICBcInN0b3AtY2lyY2xlXCI6ICRmYS12YXItc3RvcC1jaXJjbGUsXG4gIFwiY29tcGFzcy1kcmFmdGluZ1wiOiAkZmEtdmFyLWNvbXBhc3MtZHJhZnRpbmcsXG4gIFwiZHJhZnRpbmctY29tcGFzc1wiOiAkZmEtdmFyLWRyYWZ0aW5nLWNvbXBhc3MsXG4gIFwicGxhdGUtd2hlYXRcIjogJGZhLXZhci1wbGF0ZS13aGVhdCxcbiAgXCJpY2ljbGVzXCI6ICRmYS12YXItaWNpY2xlcyxcbiAgXCJwZXJzb24tc2hlbHRlclwiOiAkZmEtdmFyLXBlcnNvbi1zaGVsdGVyLFxuICBcIm5ldXRlclwiOiAkZmEtdmFyLW5ldXRlcixcbiAgXCJpZC1iYWRnZVwiOiAkZmEtdmFyLWlkLWJhZGdlLFxuICBcIm1hcmtlclwiOiAkZmEtdmFyLW1hcmtlcixcbiAgXCJmYWNlLWxhdWdoLWJlYW1cIjogJGZhLXZhci1mYWNlLWxhdWdoLWJlYW0sXG4gIFwibGF1Z2gtYmVhbVwiOiAkZmEtdmFyLWxhdWdoLWJlYW0sXG4gIFwiaGVsaWNvcHRlci1zeW1ib2xcIjogJGZhLXZhci1oZWxpY29wdGVyLXN5bWJvbCxcbiAgXCJ1bml2ZXJzYWwtYWNjZXNzXCI6ICRmYS12YXItdW5pdmVyc2FsLWFjY2VzcyxcbiAgXCJjaXJjbGUtY2hldnJvbi11cFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXVwLFxuICBcImNoZXZyb24tY2lyY2xlLXVwXCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXAsXG4gIFwibGFyaS1zaWduXCI6ICRmYS12YXItbGFyaS1zaWduLFxuICBcInZvbGNhbm9cIjogJGZhLXZhci12b2xjYW5vLFxuICBcInBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQsXG4gIFwic3Rlcmxpbmctc2lnblwiOiAkZmEtdmFyLXN0ZXJsaW5nLXNpZ24sXG4gIFwiZ2JwXCI6ICRmYS12YXItZ2JwLFxuICBcInBvdW5kLXNpZ25cIjogJGZhLXZhci1wb3VuZC1zaWduLFxuICBcInZpcnVzZXNcIjogJGZhLXZhci12aXJ1c2VzLFxuICBcInNxdWFyZS1wZXJzb24tY29uZmluZWRcIjogJGZhLXZhci1zcXVhcmUtcGVyc29uLWNvbmZpbmVkLFxuICBcInVzZXItdGllXCI6ICRmYS12YXItdXNlci10aWUsXG4gIFwiYXJyb3ctZG93bi1sb25nXCI6ICRmYS12YXItYXJyb3ctZG93bi1sb25nLFxuICBcImxvbmctYXJyb3ctZG93blwiOiAkZmEtdmFyLWxvbmctYXJyb3ctZG93bixcbiAgXCJ0ZW50LWFycm93LWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctZG93bi10by1saW5lLFxuICBcImNlcnRpZmljYXRlXCI6ICRmYS12YXItY2VydGlmaWNhdGUsXG4gIFwicmVwbHktYWxsXCI6ICRmYS12YXItcmVwbHktYWxsLFxuICBcIm1haWwtcmVwbHktYWxsXCI6ICRmYS12YXItbWFpbC1yZXBseS1hbGwsXG4gIFwic3VpdGNhc2VcIjogJGZhLXZhci1zdWl0Y2FzZSxcbiAgXCJwZXJzb24tc2thdGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1za2F0aW5nLFxuICBcInNrYXRpbmdcIjogJGZhLXZhci1za2F0aW5nLFxuICBcImZpbHRlci1jaXJjbGUtZG9sbGFyXCI6ICRmYS12YXItZmlsdGVyLWNpcmNsZS1kb2xsYXIsXG4gIFwiZnVubmVsLWRvbGxhclwiOiAkZmEtdmFyLWZ1bm5lbC1kb2xsYXIsXG4gIFwiY2FtZXJhLXJldHJvXCI6ICRmYS12YXItY2FtZXJhLXJldHJvLFxuICBcImNpcmNsZS1hcnJvdy1kb3duXCI6ICRmYS12YXItY2lyY2xlLWFycm93LWRvd24sXG4gIFwiYXJyb3ctY2lyY2xlLWRvd25cIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bixcbiAgXCJmaWxlLWltcG9ydFwiOiAkZmEtdmFyLWZpbGUtaW1wb3J0LFxuICBcImFycm93LXJpZ2h0LXRvLWZpbGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1maWxlLFxuICBcInNxdWFyZS1hcnJvdy11cC1yaWdodFwiOiAkZmEtdmFyLXNxdWFyZS1hcnJvdy11cC1yaWdodCxcbiAgXCJleHRlcm5hbC1saW5rLXNxdWFyZVwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLFxuICBcImJveC1vcGVuXCI6ICRmYS12YXItYm94LW9wZW4sXG4gIFwic2Nyb2xsXCI6ICRmYS12YXItc2Nyb2xsLFxuICBcInNwYVwiOiAkZmEtdmFyLXNwYSxcbiAgXCJsb2NhdGlvbi1waW4tbG9ja1wiOiAkZmEtdmFyLWxvY2F0aW9uLXBpbi1sb2NrLFxuICBcInBhdXNlXCI6ICRmYS12YXItcGF1c2UsXG4gIFwiaGlsbC1hdmFsYW5jaGVcIjogJGZhLXZhci1oaWxsLWF2YWxhbmNoZSxcbiAgXCJ0ZW1wZXJhdHVyZS1lbXB0eVwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWVtcHR5LFxuICBcInRlbXBlcmF0dXJlLTBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0wLFxuICBcInRoZXJtb21ldGVyLTBcIjogJGZhLXZhci10aGVybW9tZXRlci0wLFxuICBcInRoZXJtb21ldGVyLWVtcHR5XCI6ICRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHksXG4gIFwiYm9tYlwiOiAkZmEtdmFyLWJvbWIsXG4gIFwicmVnaXN0ZXJlZFwiOiAkZmEtdmFyLXJlZ2lzdGVyZWQsXG4gIFwiYWRkcmVzcy1jYXJkXCI6ICRmYS12YXItYWRkcmVzcy1jYXJkLFxuICBcImNvbnRhY3QtY2FyZFwiOiAkZmEtdmFyLWNvbnRhY3QtY2FyZCxcbiAgXCJ2Y2FyZFwiOiAkZmEtdmFyLXZjYXJkLFxuICBcInNjYWxlLXVuYmFsYW5jZWQtZmxpcFwiOiAkZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQtZmxpcCxcbiAgXCJiYWxhbmNlLXNjYWxlLXJpZ2h0XCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZS1yaWdodCxcbiAgXCJzdWJzY3JpcHRcIjogJGZhLXZhci1zdWJzY3JpcHQsXG4gIFwiZGlhbW9uZC10dXJuLXJpZ2h0XCI6ICRmYS12YXItZGlhbW9uZC10dXJuLXJpZ2h0LFxuICBcImRpcmVjdGlvbnNcIjogJGZhLXZhci1kaXJlY3Rpb25zLFxuICBcImJ1cnN0XCI6ICRmYS12YXItYnVyc3QsXG4gIFwiaG91c2UtbGFwdG9wXCI6ICRmYS12YXItaG91c2UtbGFwdG9wLFxuICBcImxhcHRvcC1ob3VzZVwiOiAkZmEtdmFyLWxhcHRvcC1ob3VzZSxcbiAgXCJmYWNlLXRpcmVkXCI6ICRmYS12YXItZmFjZS10aXJlZCxcbiAgXCJ0aXJlZFwiOiAkZmEtdmFyLXRpcmVkLFxuICBcIm1vbmV5LWJpbGxzXCI6ICRmYS12YXItbW9uZXktYmlsbHMsXG4gIFwic21vZ1wiOiAkZmEtdmFyLXNtb2csXG4gIFwiY3J1dGNoXCI6ICRmYS12YXItY3J1dGNoLFxuICBcImNsb3VkLWFycm93LXVwXCI6ICRmYS12YXItY2xvdWQtYXJyb3ctdXAsXG4gIFwiY2xvdWQtdXBsb2FkXCI6ICRmYS12YXItY2xvdWQtdXBsb2FkLFxuICBcImNsb3VkLXVwbG9hZC1hbHRcIjogJGZhLXZhci1jbG91ZC11cGxvYWQtYWx0LFxuICBcInBhbGV0dGVcIjogJGZhLXZhci1wYWxldHRlLFxuICBcImFycm93cy10dXJuLXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLXR1cm4tcmlnaHQsXG4gIFwidmVzdFwiOiAkZmEtdmFyLXZlc3QsXG4gIFwiZmVycnlcIjogJGZhLXZhci1mZXJyeSxcbiAgXCJhcnJvd3MtZG93bi10by1wZW9wbGVcIjogJGZhLXZhci1hcnJvd3MtZG93bi10by1wZW9wbGUsXG4gIFwic2VlZGxpbmdcIjogJGZhLXZhci1zZWVkbGluZyxcbiAgXCJzcHJvdXRcIjogJGZhLXZhci1zcHJvdXQsXG4gIFwibGVmdC1yaWdodFwiOiAkZmEtdmFyLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWFsdC1oXCI6ICRmYS12YXItYXJyb3dzLWFsdC1oLFxuICBcImJveGVzLXBhY2tpbmdcIjogJGZhLXZhci1ib3hlcy1wYWNraW5nLFxuICBcImNpcmNsZS1hcnJvdy1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWFycm93LWxlZnQsXG4gIFwiYXJyb3ctY2lyY2xlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdCxcbiAgXCJncm91cC1hcnJvd3Mtcm90YXRlXCI6ICRmYS12YXItZ3JvdXAtYXJyb3dzLXJvdGF0ZSxcbiAgXCJib3dsLWZvb2RcIjogJGZhLXZhci1ib3dsLWZvb2QsXG4gIFwiY2FuZHktY2FuZVwiOiAkZmEtdmFyLWNhbmR5LWNhbmUsXG4gIFwiYXJyb3ctZG93bi13aWRlLXNob3J0XCI6ICRmYS12YXItYXJyb3ctZG93bi13aWRlLXNob3J0LFxuICBcInNvcnQtYW1vdW50LWFzY1wiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYyxcbiAgXCJzb3J0LWFtb3VudC1kb3duXCI6ICRmYS12YXItc29ydC1hbW91bnQtZG93bixcbiAgXCJjbG91ZC1ib2x0XCI6ICRmYS12YXItY2xvdWQtYm9sdCxcbiAgXCJ0aHVuZGVyc3Rvcm1cIjogJGZhLXZhci10aHVuZGVyc3Rvcm0sXG4gIFwidGV4dC1zbGFzaFwiOiAkZmEtdmFyLXRleHQtc2xhc2gsXG4gIFwicmVtb3ZlLWZvcm1hdFwiOiAkZmEtdmFyLXJlbW92ZS1mb3JtYXQsXG4gIFwiZmFjZS1zbWlsZS13aW5rXCI6ICRmYS12YXItZmFjZS1zbWlsZS13aW5rLFxuICBcInNtaWxlLXdpbmtcIjogJGZhLXZhci1zbWlsZS13aW5rLFxuICBcImZpbGUtd29yZFwiOiAkZmEtdmFyLWZpbGUtd29yZCxcbiAgXCJmaWxlLXBvd2VycG9pbnRcIjogJGZhLXZhci1maWxlLXBvd2VycG9pbnQsXG4gIFwiYXJyb3dzLWxlZnQtcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtaFwiOiAkZmEtdmFyLWFycm93cy1oLFxuICBcImhvdXNlLWxvY2tcIjogJGZhLXZhci1ob3VzZS1sb2NrLFxuICBcImNsb3VkLWFycm93LWRvd25cIjogJGZhLXZhci1jbG91ZC1hcnJvdy1kb3duLFxuICBcImNsb3VkLWRvd25sb2FkXCI6ICRmYS12YXItY2xvdWQtZG93bmxvYWQsXG4gIFwiY2xvdWQtZG93bmxvYWQtYWx0XCI6ICRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0LFxuICBcImNoaWxkcmVuXCI6ICRmYS12YXItY2hpbGRyZW4sXG4gIFwiY2hhbGtib2FyZFwiOiAkZmEtdmFyLWNoYWxrYm9hcmQsXG4gIFwiYmxhY2tib2FyZFwiOiAkZmEtdmFyLWJsYWNrYm9hcmQsXG4gIFwidXNlci1sYXJnZS1zbGFzaFwiOiAkZmEtdmFyLXVzZXItbGFyZ2Utc2xhc2gsXG4gIFwidXNlci1hbHQtc2xhc2hcIjogJGZhLXZhci11c2VyLWFsdC1zbGFzaCxcbiAgXCJlbnZlbG9wZS1vcGVuXCI6ICRmYS12YXItZW52ZWxvcGUtb3BlbixcbiAgXCJoYW5kc2hha2Utc2ltcGxlLXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLXNpbXBsZS1zbGFzaCxcbiAgXCJoYW5kc2hha2UtYWx0LXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaCxcbiAgXCJtYXR0cmVzcy1waWxsb3dcIjogJGZhLXZhci1tYXR0cmVzcy1waWxsb3csXG4gIFwiZ3VhcmFuaS1zaWduXCI6ICRmYS12YXItZ3VhcmFuaS1zaWduLFxuICBcImFycm93cy1yb3RhdGVcIjogJGZhLXZhci1hcnJvd3Mtcm90YXRlLFxuICBcInJlZnJlc2hcIjogJGZhLXZhci1yZWZyZXNoLFxuICBcInN5bmNcIjogJGZhLXZhci1zeW5jLFxuICBcImZpcmUtZXh0aW5ndWlzaGVyXCI6ICRmYS12YXItZmlyZS1leHRpbmd1aXNoZXIsXG4gIFwiY3J1emVpcm8tc2lnblwiOiAkZmEtdmFyLWNydXplaXJvLXNpZ24sXG4gIFwiZ3JlYXRlci10aGFuLWVxdWFsXCI6ICRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsLFxuICBcInNoaWVsZC1oYWx2ZWRcIjogJGZhLXZhci1zaGllbGQtaGFsdmVkLFxuICBcInNoaWVsZC1hbHRcIjogJGZhLXZhci1zaGllbGQtYWx0LFxuICBcImJvb2stYXRsYXNcIjogJGZhLXZhci1ib29rLWF0bGFzLFxuICBcImF0bGFzXCI6ICRmYS12YXItYXRsYXMsXG4gIFwidmlydXNcIjogJGZhLXZhci12aXJ1cyxcbiAgXCJlbnZlbG9wZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1lbnZlbG9wZS1jaXJjbGUtY2hlY2ssXG4gIFwibGF5ZXItZ3JvdXBcIjogJGZhLXZhci1sYXllci1ncm91cCxcbiAgXCJhcnJvd3MtdG8tZG90XCI6ICRmYS12YXItYXJyb3dzLXRvLWRvdCxcbiAgXCJhcmNod2F5XCI6ICRmYS12YXItYXJjaHdheSxcbiAgXCJoZWFydC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtY2hlY2ssXG4gIFwiaG91c2UtY2hpbW5leS1jcmFja1wiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktY3JhY2ssXG4gIFwiaG91c2UtZGFtYWdlXCI6ICRmYS12YXItaG91c2UtZGFtYWdlLFxuICBcImZpbGUtemlwcGVyXCI6ICRmYS12YXItZmlsZS16aXBwZXIsXG4gIFwiZmlsZS1hcmNoaXZlXCI6ICRmYS12YXItZmlsZS1hcmNoaXZlLFxuICBcInNxdWFyZVwiOiAkZmEtdmFyLXNxdWFyZSxcbiAgXCJtYXJ0aW5pLWdsYXNzLWVtcHR5XCI6ICRmYS12YXItbWFydGluaS1nbGFzcy1lbXB0eSxcbiAgXCJnbGFzcy1tYXJ0aW5pXCI6ICRmYS12YXItZ2xhc3MtbWFydGluaSxcbiAgXCJjb3VjaFwiOiAkZmEtdmFyLWNvdWNoLFxuICBcImNlZGktc2lnblwiOiAkZmEtdmFyLWNlZGktc2lnbixcbiAgXCJpdGFsaWNcIjogJGZhLXZhci1pdGFsaWMsXG4gIFwiY2h1cmNoXCI6ICRmYS12YXItY2h1cmNoLFxuICBcImNvbW1lbnRzLWRvbGxhclwiOiAkZmEtdmFyLWNvbW1lbnRzLWRvbGxhcixcbiAgXCJkZW1vY3JhdFwiOiAkZmEtdmFyLWRlbW9jcmF0LFxuICBcInpcIjogJGZhLXZhci16LFxuICBcInBlcnNvbi1za2lpbmdcIjogJGZhLXZhci1wZXJzb24tc2tpaW5nLFxuICBcInNraWluZ1wiOiAkZmEtdmFyLXNraWluZyxcbiAgXCJyb2FkLWxvY2tcIjogJGZhLXZhci1yb2FkLWxvY2ssXG4gIFwiYVwiOiAkZmEtdmFyLWEsXG4gIFwidGVtcGVyYXR1cmUtYXJyb3ctZG93blwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LWRvd24sXG4gIFwidGVtcGVyYXR1cmUtZG93blwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWRvd24sXG4gIFwiZmVhdGhlci1wb2ludGVkXCI6ICRmYS12YXItZmVhdGhlci1wb2ludGVkLFxuICBcImZlYXRoZXItYWx0XCI6ICRmYS12YXItZmVhdGhlci1hbHQsXG4gIFwicFwiOiAkZmEtdmFyLXAsXG4gIFwic25vd2ZsYWtlXCI6ICRmYS12YXItc25vd2ZsYWtlLFxuICBcIm5ld3NwYXBlclwiOiAkZmEtdmFyLW5ld3NwYXBlcixcbiAgXCJyZWN0YW5nbGUtYWRcIjogJGZhLXZhci1yZWN0YW5nbGUtYWQsXG4gIFwiYWRcIjogJGZhLXZhci1hZCxcbiAgXCJjaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwiYXJyb3ctY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0LFxuICBcImZpbHRlci1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1maWx0ZXItY2lyY2xlLXhtYXJrLFxuICBcImxvY3VzdFwiOiAkZmEtdmFyLWxvY3VzdCxcbiAgXCJzb3J0XCI6ICRmYS12YXItc29ydCxcbiAgXCJ1bnNvcnRlZFwiOiAkZmEtdmFyLXVuc29ydGVkLFxuICBcImxpc3Qtb2xcIjogJGZhLXZhci1saXN0LW9sLFxuICBcImxpc3QtMS0yXCI6ICRmYS12YXItbGlzdC0xLTIsXG4gIFwibGlzdC1udW1lcmljXCI6ICRmYS12YXItbGlzdC1udW1lcmljLFxuICBcInBlcnNvbi1kcmVzcy1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1kcmVzcy1idXJzdCxcbiAgXCJtb25leS1jaGVjay1kb2xsYXJcIjogJGZhLXZhci1tb25leS1jaGVjay1kb2xsYXIsXG4gIFwibW9uZXktY2hlY2stYWx0XCI6ICRmYS12YXItbW9uZXktY2hlY2stYWx0LFxuICBcInZlY3Rvci1zcXVhcmVcIjogJGZhLXZhci12ZWN0b3Itc3F1YXJlLFxuICBcImJyZWFkLXNsaWNlXCI6ICRmYS12YXItYnJlYWQtc2xpY2UsXG4gIFwibGFuZ3VhZ2VcIjogJGZhLXZhci1sYW5ndWFnZSxcbiAgXCJmYWNlLWtpc3Mtd2luay1oZWFydFwiOiAkZmEtdmFyLWZhY2Uta2lzcy13aW5rLWhlYXJ0LFxuICBcImtpc3Mtd2luay1oZWFydFwiOiAkZmEtdmFyLWtpc3Mtd2luay1oZWFydCxcbiAgXCJmaWx0ZXJcIjogJGZhLXZhci1maWx0ZXIsXG4gIFwicXVlc3Rpb25cIjogJGZhLXZhci1xdWVzdGlvbixcbiAgXCJmaWxlLXNpZ25hdHVyZVwiOiAkZmEtdmFyLWZpbGUtc2lnbmF0dXJlLFxuICBcInVwLWRvd24tbGVmdC1yaWdodFwiOiAkZmEtdmFyLXVwLWRvd24tbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtYWx0XCI6ICRmYS12YXItYXJyb3dzLWFsdCxcbiAgXCJob3VzZS1jaGltbmV5LXVzZXJcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LXVzZXIsXG4gIFwiaGFuZC1ob2xkaW5nLWhlYXJ0XCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0LFxuICBcInB1enpsZS1waWVjZVwiOiAkZmEtdmFyLXB1enpsZS1waWVjZSxcbiAgXCJtb25leS1jaGVja1wiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLFxuICBcInN0YXItaGFsZi1zdHJva2VcIjogJGZhLXZhci1zdGFyLWhhbGYtc3Ryb2tlLFxuICBcInN0YXItaGFsZi1hbHRcIjogJGZhLXZhci1zdGFyLWhhbGYtYWx0LFxuICBcImNvZGVcIjogJGZhLXZhci1jb2RlLFxuICBcIndoaXNrZXktZ2xhc3NcIjogJGZhLXZhci13aGlza2V5LWdsYXNzLFxuICBcImdsYXNzLXdoaXNrZXlcIjogJGZhLXZhci1nbGFzcy13aGlza2V5LFxuICBcImJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWNoYXJ0XCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1jaGFydCxcbiAgXCJhcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlLFxuICBcImV4dGVybmFsLWxpbmtcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLFxuICBcImN1YmVzLXN0YWNrZWRcIjogJGZhLXZhci1jdWJlcy1zdGFja2VkLFxuICBcIndvbi1zaWduXCI6ICRmYS12YXItd29uLXNpZ24sXG4gIFwia3J3XCI6ICRmYS12YXIta3J3LFxuICBcIndvblwiOiAkZmEtdmFyLXdvbixcbiAgXCJ2aXJ1cy1jb3ZpZFwiOiAkZmEtdmFyLXZpcnVzLWNvdmlkLFxuICBcImF1c3RyYWwtc2lnblwiOiAkZmEtdmFyLWF1c3RyYWwtc2lnbixcbiAgXCJmXCI6ICRmYS12YXItZixcbiAgXCJsZWFmXCI6ICRmYS12YXItbGVhZixcbiAgXCJyb2FkXCI6ICRmYS12YXItcm9hZCxcbiAgXCJ0YXhpXCI6ICRmYS12YXItdGF4aSxcbiAgXCJjYWJcIjogJGZhLXZhci1jYWIsXG4gIFwicGVyc29uLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1wbHVzLFxuICBcImNoYXJ0LXBpZVwiOiAkZmEtdmFyLWNoYXJ0LXBpZSxcbiAgXCJwaWUtY2hhcnRcIjogJGZhLXZhci1waWUtY2hhcnQsXG4gIFwiYm9sdC1saWdodG5pbmdcIjogJGZhLXZhci1ib2x0LWxpZ2h0bmluZyxcbiAgXCJzYWNrLXhtYXJrXCI6ICRmYS12YXItc2Fjay14bWFyayxcbiAgXCJmaWxlLWV4Y2VsXCI6ICRmYS12YXItZmlsZS1leGNlbCxcbiAgXCJmaWxlLWNvbnRyYWN0XCI6ICRmYS12YXItZmlsZS1jb250cmFjdCxcbiAgXCJmaXNoLWZpbnNcIjogJGZhLXZhci1maXNoLWZpbnMsXG4gIFwiYnVpbGRpbmctZmxhZ1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWZsYWcsXG4gIFwiZmFjZS1ncmluLWJlYW1cIjogJGZhLXZhci1mYWNlLWdyaW4tYmVhbSxcbiAgXCJncmluLWJlYW1cIjogJGZhLXZhci1ncmluLWJlYW0sXG4gIFwib2JqZWN0LXVuZ3JvdXBcIjogJGZhLXZhci1vYmplY3QtdW5ncm91cCxcbiAgXCJwb29wXCI6ICRmYS12YXItcG9vcCxcbiAgXCJsb2NhdGlvbi1waW5cIjogJGZhLXZhci1sb2NhdGlvbi1waW4sXG4gIFwibWFwLW1hcmtlclwiOiAkZmEtdmFyLW1hcC1tYXJrZXIsXG4gIFwia2FhYmFcIjogJGZhLXZhci1rYWFiYSxcbiAgXCJ0b2lsZXQtcGFwZXJcIjogJGZhLXZhci10b2lsZXQtcGFwZXIsXG4gIFwiaGVsbWV0LXNhZmV0eVwiOiAkZmEtdmFyLWhlbG1ldC1zYWZldHksXG4gIFwiaGFyZC1oYXRcIjogJGZhLXZhci1oYXJkLWhhdCxcbiAgXCJoYXQtaGFyZFwiOiAkZmEtdmFyLWhhdC1oYXJkLFxuICBcImVqZWN0XCI6ICRmYS12YXItZWplY3QsXG4gIFwiY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLXJpZ2h0LFxuICBcImFycm93LWFsdC1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0LFxuICBcInBsYW5lLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS1jaGVjayxcbiAgXCJmYWNlLXJvbGxpbmctZXllc1wiOiAkZmEtdmFyLWZhY2Utcm9sbGluZy1leWVzLFxuICBcIm1laC1yb2xsaW5nLWV5ZXNcIjogJGZhLXZhci1tZWgtcm9sbGluZy1leWVzLFxuICBcIm9iamVjdC1ncm91cFwiOiAkZmEtdmFyLW9iamVjdC1ncm91cCxcbiAgXCJjaGFydC1saW5lXCI6ICRmYS12YXItY2hhcnQtbGluZSxcbiAgXCJsaW5lLWNoYXJ0XCI6ICRmYS12YXItbGluZS1jaGFydCxcbiAgXCJtYXNrLXZlbnRpbGF0b3JcIjogJGZhLXZhci1tYXNrLXZlbnRpbGF0b3IsXG4gIFwiYXJyb3ctcmlnaHRcIjogJGZhLXZhci1hcnJvdy1yaWdodCxcbiAgXCJzaWducy1wb3N0XCI6ICRmYS12YXItc2lnbnMtcG9zdCxcbiAgXCJtYXAtc2lnbnNcIjogJGZhLXZhci1tYXAtc2lnbnMsXG4gIFwiY2FzaC1yZWdpc3RlclwiOiAkZmEtdmFyLWNhc2gtcmVnaXN0ZXIsXG4gIFwicGVyc29uLWNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtcXVlc3Rpb24sXG4gIFwiaFwiOiAkZmEtdmFyLWgsXG4gIFwidGFycFwiOiAkZmEtdmFyLXRhcnAsXG4gIFwic2NyZXdkcml2ZXItd3JlbmNoXCI6ICRmYS12YXItc2NyZXdkcml2ZXItd3JlbmNoLFxuICBcInRvb2xzXCI6ICRmYS12YXItdG9vbHMsXG4gIFwiYXJyb3dzLXRvLWV5ZVwiOiAkZmEtdmFyLWFycm93cy10by1leWUsXG4gIFwicGx1Zy1jaXJjbGUtYm9sdFwiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWJvbHQsXG4gIFwiaGVhcnRcIjogJGZhLXZhci1oZWFydCxcbiAgXCJtYXJzLWFuZC12ZW51c1wiOiAkZmEtdmFyLW1hcnMtYW5kLXZlbnVzLFxuICBcImhvdXNlLXVzZXJcIjogJGZhLXZhci1ob3VzZS11c2VyLFxuICBcImhvbWUtdXNlclwiOiAkZmEtdmFyLWhvbWUtdXNlcixcbiAgXCJkdW1wc3Rlci1maXJlXCI6ICRmYS12YXItZHVtcHN0ZXItZmlyZSxcbiAgXCJob3VzZS1jcmFja1wiOiAkZmEtdmFyLWhvdXNlLWNyYWNrLFxuICBcIm1hcnRpbmktZ2xhc3MtY2l0cnVzXCI6ICRmYS12YXItbWFydGluaS1nbGFzcy1jaXRydXMsXG4gIFwiY29ja3RhaWxcIjogJGZhLXZhci1jb2NrdGFpbCxcbiAgXCJmYWNlLXN1cnByaXNlXCI6ICRmYS12YXItZmFjZS1zdXJwcmlzZSxcbiAgXCJzdXJwcmlzZVwiOiAkZmEtdmFyLXN1cnByaXNlLFxuICBcImJvdHRsZS13YXRlclwiOiAkZmEtdmFyLWJvdHRsZS13YXRlcixcbiAgXCJjaXJjbGUtcGF1c2VcIjogJGZhLXZhci1jaXJjbGUtcGF1c2UsXG4gIFwicGF1c2UtY2lyY2xlXCI6ICRmYS12YXItcGF1c2UtY2lyY2xlLFxuICBcInRvaWxldC1wYXBlci1zbGFzaFwiOiAkZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaCxcbiAgXCJhcHBsZS13aG9sZVwiOiAkZmEtdmFyLWFwcGxlLXdob2xlLFxuICBcImFwcGxlLWFsdFwiOiAkZmEtdmFyLWFwcGxlLWFsdCxcbiAgXCJraXRjaGVuLXNldFwiOiAkZmEtdmFyLWtpdGNoZW4tc2V0LFxuICBcInJcIjogJGZhLXZhci1yLFxuICBcInRlbXBlcmF0dXJlLXF1YXJ0ZXJcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1xdWFydGVyLFxuICBcInRlbXBlcmF0dXJlLTFcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0xLFxuICBcInRoZXJtb21ldGVyLTFcIjogJGZhLXZhci10aGVybW9tZXRlci0xLFxuICBcInRoZXJtb21ldGVyLXF1YXJ0ZXJcIjogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyLFxuICBcImN1YmVcIjogJGZhLXZhci1jdWJlLFxuICBcImJpdGNvaW4tc2lnblwiOiAkZmEtdmFyLWJpdGNvaW4tc2lnbixcbiAgXCJzaGllbGQtZG9nXCI6ICRmYS12YXItc2hpZWxkLWRvZyxcbiAgXCJzb2xhci1wYW5lbFwiOiAkZmEtdmFyLXNvbGFyLXBhbmVsLFxuICBcImxvY2stb3BlblwiOiAkZmEtdmFyLWxvY2stb3BlbixcbiAgXCJlbGV2YXRvclwiOiAkZmEtdmFyLWVsZXZhdG9yLFxuICBcIm1vbmV5LWJpbGwtdHJhbnNmZXJcIjogJGZhLXZhci1tb25leS1iaWxsLXRyYW5zZmVyLFxuICBcIm1vbmV5LWJpbGwtdHJlbmQtdXBcIjogJGZhLXZhci1tb25leS1iaWxsLXRyZW5kLXVwLFxuICBcImhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJzcXVhcmUtcG9sbC1ob3Jpem9udGFsXCI6ICRmYS12YXItc3F1YXJlLXBvbGwtaG9yaXpvbnRhbCxcbiAgXCJwb2xsLWhcIjogJGZhLXZhci1wb2xsLWgsXG4gIFwiY2lyY2xlXCI6ICRmYS12YXItY2lyY2xlLFxuICBcImJhY2t3YXJkLWZhc3RcIjogJGZhLXZhci1iYWNrd2FyZC1mYXN0LFxuICBcImZhc3QtYmFja3dhcmRcIjogJGZhLXZhci1mYXN0LWJhY2t3YXJkLFxuICBcInJlY3ljbGVcIjogJGZhLXZhci1yZWN5Y2xlLFxuICBcInVzZXItYXN0cm9uYXV0XCI6ICRmYS12YXItdXNlci1hc3Ryb25hdXQsXG4gIFwicGxhbmUtc2xhc2hcIjogJGZhLXZhci1wbGFuZS1zbGFzaCxcbiAgXCJ0cmFkZW1hcmtcIjogJGZhLXZhci10cmFkZW1hcmssXG4gIFwiYmFza2V0YmFsbFwiOiAkZmEtdmFyLWJhc2tldGJhbGwsXG4gIFwiYmFza2V0YmFsbC1iYWxsXCI6ICRmYS12YXItYmFza2V0YmFsbC1iYWxsLFxuICBcInNhdGVsbGl0ZS1kaXNoXCI6ICRmYS12YXItc2F0ZWxsaXRlLWRpc2gsXG4gIFwiY2lyY2xlLXVwXCI6ICRmYS12YXItY2lyY2xlLXVwLFxuICBcImFycm93LWFsdC1jaXJjbGUtdXBcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwLFxuICBcIm1vYmlsZS1zY3JlZW4tYnV0dG9uXCI6ICRmYS12YXItbW9iaWxlLXNjcmVlbi1idXR0b24sXG4gIFwibW9iaWxlLWFsdFwiOiAkZmEtdmFyLW1vYmlsZS1hbHQsXG4gIFwidm9sdW1lLWhpZ2hcIjogJGZhLXZhci12b2x1bWUtaGlnaCxcbiAgXCJ2b2x1bWUtdXBcIjogJGZhLXZhci12b2x1bWUtdXAsXG4gIFwidXNlcnMtcmF5c1wiOiAkZmEtdmFyLXVzZXJzLXJheXMsXG4gIFwid2FsbGV0XCI6ICRmYS12YXItd2FsbGV0LFxuICBcImNsaXBib2FyZC1jaGVja1wiOiAkZmEtdmFyLWNsaXBib2FyZC1jaGVjayxcbiAgXCJmaWxlLWF1ZGlvXCI6ICRmYS12YXItZmlsZS1hdWRpbyxcbiAgXCJidXJnZXJcIjogJGZhLXZhci1idXJnZXIsXG4gIFwiaGFtYnVyZ2VyXCI6ICRmYS12YXItaGFtYnVyZ2VyLFxuICBcIndyZW5jaFwiOiAkZmEtdmFyLXdyZW5jaCxcbiAgXCJidWdzXCI6ICRmYS12YXItYnVncyxcbiAgXCJydXBlZS1zaWduXCI6ICRmYS12YXItcnVwZWUtc2lnbixcbiAgXCJydXBlZVwiOiAkZmEtdmFyLXJ1cGVlLFxuICBcImZpbGUtaW1hZ2VcIjogJGZhLXZhci1maWxlLWltYWdlLFxuICBcImNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJxdWVzdGlvbi1jaXJjbGVcIjogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUsXG4gIFwicGxhbmUtZGVwYXJ0dXJlXCI6ICRmYS12YXItcGxhbmUtZGVwYXJ0dXJlLFxuICBcImhhbmRzaGFrZS1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zbGFzaCxcbiAgXCJib29rLWJvb2ttYXJrXCI6ICRmYS12YXItYm9vay1ib29rbWFyayxcbiAgXCJjb2RlLWJyYW5jaFwiOiAkZmEtdmFyLWNvZGUtYnJhbmNoLFxuICBcImhhdC1jb3dib3lcIjogJGZhLXZhci1oYXQtY293Ym95LFxuICBcImJyaWRnZVwiOiAkZmEtdmFyLWJyaWRnZSxcbiAgXCJwaG9uZS1mbGlwXCI6ICRmYS12YXItcGhvbmUtZmxpcCxcbiAgXCJwaG9uZS1hbHRcIjogJGZhLXZhci1waG9uZS1hbHQsXG4gIFwidHJ1Y2stZnJvbnRcIjogJGZhLXZhci10cnVjay1mcm9udCxcbiAgXCJjYXRcIjogJGZhLXZhci1jYXQsXG4gIFwiYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwidHJ1Y2stZmllbGRcIjogJGZhLXZhci10cnVjay1maWVsZCxcbiAgXCJyb3V0ZVwiOiAkZmEtdmFyLXJvdXRlLFxuICBcImNsaXBib2FyZC1xdWVzdGlvblwiOiAkZmEtdmFyLWNsaXBib2FyZC1xdWVzdGlvbixcbiAgXCJwYW5vcmFtYVwiOiAkZmEtdmFyLXBhbm9yYW1hLFxuICBcImNvbW1lbnQtbWVkaWNhbFwiOiAkZmEtdmFyLWNvbW1lbnQtbWVkaWNhbCxcbiAgXCJ0ZWV0aC1vcGVuXCI6ICRmYS12YXItdGVldGgtb3BlbixcbiAgXCJmaWxlLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLW1pbnVzLFxuICBcInRhZ3NcIjogJGZhLXZhci10YWdzLFxuICBcIndpbmUtZ2xhc3NcIjogJGZhLXZhci13aW5lLWdsYXNzLFxuICBcImZvcndhcmQtZmFzdFwiOiAkZmEtdmFyLWZvcndhcmQtZmFzdCxcbiAgXCJmYXN0LWZvcndhcmRcIjogJGZhLXZhci1mYXN0LWZvcndhcmQsXG4gIFwiZmFjZS1tZWgtYmxhbmtcIjogJGZhLXZhci1mYWNlLW1laC1ibGFuayxcbiAgXCJtZWgtYmxhbmtcIjogJGZhLXZhci1tZWgtYmxhbmssXG4gIFwic3F1YXJlLXBhcmtpbmdcIjogJGZhLXZhci1zcXVhcmUtcGFya2luZyxcbiAgXCJwYXJraW5nXCI6ICRmYS12YXItcGFya2luZyxcbiAgXCJob3VzZS1zaWduYWxcIjogJGZhLXZhci1ob3VzZS1zaWduYWwsXG4gIFwiYmFycy1wcm9ncmVzc1wiOiAkZmEtdmFyLWJhcnMtcHJvZ3Jlc3MsXG4gIFwidGFza3MtYWx0XCI6ICRmYS12YXItdGFza3MtYWx0LFxuICBcImZhdWNldC1kcmlwXCI6ICRmYS12YXItZmF1Y2V0LWRyaXAsXG4gIFwiY2FydC1mbGF0YmVkXCI6ICRmYS12YXItY2FydC1mbGF0YmVkLFxuICBcImRvbGx5LWZsYXRiZWRcIjogJGZhLXZhci1kb2xseS1mbGF0YmVkLFxuICBcImJhbi1zbW9raW5nXCI6ICRmYS12YXItYmFuLXNtb2tpbmcsXG4gIFwic21va2luZy1iYW5cIjogJGZhLXZhci1zbW9raW5nLWJhbixcbiAgXCJ0ZXJtaW5hbFwiOiAkZmEtdmFyLXRlcm1pbmFsLFxuICBcIm1vYmlsZS1idXR0b25cIjogJGZhLXZhci1tb2JpbGUtYnV0dG9uLFxuICBcImhvdXNlLW1lZGljYWwtZmxhZ1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtZmxhZyxcbiAgXCJiYXNrZXQtc2hvcHBpbmdcIjogJGZhLXZhci1iYXNrZXQtc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctYmFza2V0XCI6ICRmYS12YXItc2hvcHBpbmctYmFza2V0LFxuICBcInRhcGVcIjogJGZhLXZhci10YXBlLFxuICBcImJ1cy1zaW1wbGVcIjogJGZhLXZhci1idXMtc2ltcGxlLFxuICBcImJ1cy1hbHRcIjogJGZhLXZhci1idXMtYWx0LFxuICBcImV5ZVwiOiAkZmEtdmFyLWV5ZSxcbiAgXCJmYWNlLXNhZC1jcnlcIjogJGZhLXZhci1mYWNlLXNhZC1jcnksXG4gIFwic2FkLWNyeVwiOiAkZmEtdmFyLXNhZC1jcnksXG4gIFwiYXVkaW8tZGVzY3JpcHRpb25cIjogJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbixcbiAgXCJwZXJzb24tbWlsaXRhcnktdG8tcGVyc29uXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbixcbiAgXCJmaWxlLXNoaWVsZFwiOiAkZmEtdmFyLWZpbGUtc2hpZWxkLFxuICBcInVzZXItc2xhc2hcIjogJGZhLXZhci11c2VyLXNsYXNoLFxuICBcInBlblwiOiAkZmEtdmFyLXBlbixcbiAgXCJ0b3dlci1vYnNlcnZhdGlvblwiOiAkZmEtdmFyLXRvd2VyLW9ic2VydmF0aW9uLFxuICBcImZpbGUtY29kZVwiOiAkZmEtdmFyLWZpbGUtY29kZSxcbiAgXCJzaWduYWxcIjogJGZhLXZhci1zaWduYWwsXG4gIFwic2lnbmFsLTVcIjogJGZhLXZhci1zaWduYWwtNSxcbiAgXCJzaWduYWwtcGVyZmVjdFwiOiAkZmEtdmFyLXNpZ25hbC1wZXJmZWN0LFxuICBcImJ1c1wiOiAkZmEtdmFyLWJ1cyxcbiAgXCJoZWFydC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1oZWFydC1jaXJjbGUteG1hcmssXG4gIFwiaG91c2UtY2hpbW5leVwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXksXG4gIFwiaG9tZS1sZ1wiOiAkZmEtdmFyLWhvbWUtbGcsXG4gIFwid2luZG93LW1heGltaXplXCI6ICRmYS12YXItd2luZG93LW1heGltaXplLFxuICBcImZhY2UtZnJvd25cIjogJGZhLXZhci1mYWNlLWZyb3duLFxuICBcImZyb3duXCI6ICRmYS12YXItZnJvd24sXG4gIFwicHJlc2NyaXB0aW9uXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLFxuICBcInNob3BcIjogJGZhLXZhci1zaG9wLFxuICBcInN0b3JlLWFsdFwiOiAkZmEtdmFyLXN0b3JlLWFsdCxcbiAgXCJmbG9wcHktZGlza1wiOiAkZmEtdmFyLWZsb3BweS1kaXNrLFxuICBcInNhdmVcIjogJGZhLXZhci1zYXZlLFxuICBcInZpaGFyYVwiOiAkZmEtdmFyLXZpaGFyYSxcbiAgXCJzY2FsZS11bmJhbGFuY2VkXCI6ICRmYS12YXItc2NhbGUtdW5iYWxhbmNlZCxcbiAgXCJiYWxhbmNlLXNjYWxlLWxlZnRcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQsXG4gIFwic29ydC11cFwiOiAkZmEtdmFyLXNvcnQtdXAsXG4gIFwic29ydC1hc2NcIjogJGZhLXZhci1zb3J0LWFzYyxcbiAgXCJjb21tZW50LWRvdHNcIjogJGZhLXZhci1jb21tZW50LWRvdHMsXG4gIFwiY29tbWVudGluZ1wiOiAkZmEtdmFyLWNvbW1lbnRpbmcsXG4gIFwicGxhbnQtd2lsdFwiOiAkZmEtdmFyLXBsYW50LXdpbHQsXG4gIFwiZGlhbW9uZFwiOiAkZmEtdmFyLWRpYW1vbmQsXG4gIFwiZmFjZS1ncmluLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQsXG4gIFwiZ3Jpbi1zcXVpbnRcIjogJGZhLXZhci1ncmluLXNxdWludCxcbiAgXCJoYW5kLWhvbGRpbmctZG9sbGFyXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWRvbGxhcixcbiAgXCJoYW5kLWhvbGRpbmctdXNkXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLXVzZCxcbiAgXCJiYWN0ZXJpdW1cIjogJGZhLXZhci1iYWN0ZXJpdW0sXG4gIFwiaGFuZC1wb2ludGVyXCI6ICRmYS12YXItaGFuZC1wb2ludGVyLFxuICBcImRydW0tc3RlZWxwYW5cIjogJGZhLXZhci1kcnVtLXN0ZWVscGFuLFxuICBcImhhbmQtc2Npc3NvcnNcIjogJGZhLXZhci1oYW5kLXNjaXNzb3JzLFxuICBcImhhbmRzLXByYXlpbmdcIjogJGZhLXZhci1oYW5kcy1wcmF5aW5nLFxuICBcInByYXlpbmctaGFuZHNcIjogJGZhLXZhci1wcmF5aW5nLWhhbmRzLFxuICBcImFycm93LXJvdGF0ZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1yaWdodCxcbiAgXCJhcnJvdy1yaWdodC1yb3RhdGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC1yb3RhdGUsXG4gIFwiYXJyb3ctcm90YXRlLWZvcndhcmRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtZm9yd2FyZCxcbiAgXCJyZWRvXCI6ICRmYS12YXItcmVkbyxcbiAgXCJiaW9oYXphcmRcIjogJGZhLXZhci1iaW9oYXphcmQsXG4gIFwibG9jYXRpb24tY3Jvc3NoYWlyc1wiOiAkZmEtdmFyLWxvY2F0aW9uLWNyb3NzaGFpcnMsXG4gIFwibG9jYXRpb25cIjogJGZhLXZhci1sb2NhdGlvbixcbiAgXCJtYXJzLWRvdWJsZVwiOiAkZmEtdmFyLW1hcnMtZG91YmxlLFxuICBcImNoaWxkLWRyZXNzXCI6ICRmYS12YXItY2hpbGQtZHJlc3MsXG4gIFwidXNlcnMtYmV0d2Vlbi1saW5lc1wiOiAkZmEtdmFyLXVzZXJzLWJldHdlZW4tbGluZXMsXG4gIFwibHVuZ3MtdmlydXNcIjogJGZhLXZhci1sdW5ncy12aXJ1cyxcbiAgXCJmYWNlLWdyaW4tdGVhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tdGVhcnMsXG4gIFwiZ3Jpbi10ZWFyc1wiOiAkZmEtdmFyLWdyaW4tdGVhcnMsXG4gIFwicGhvbmVcIjogJGZhLXZhci1waG9uZSxcbiAgXCJjYWxlbmRhci14bWFya1wiOiAkZmEtdmFyLWNhbGVuZGFyLXhtYXJrLFxuICBcImNhbGVuZGFyLXRpbWVzXCI6ICRmYS12YXItY2FsZW5kYXItdGltZXMsXG4gIFwiY2hpbGQtcmVhY2hpbmdcIjogJGZhLXZhci1jaGlsZC1yZWFjaGluZyxcbiAgXCJoZWFkLXNpZGUtdmlydXNcIjogJGZhLXZhci1oZWFkLXNpZGUtdmlydXMsXG4gIFwidXNlci1nZWFyXCI6ICRmYS12YXItdXNlci1nZWFyLFxuICBcInVzZXItY29nXCI6ICRmYS12YXItdXNlci1jb2csXG4gIFwiYXJyb3ctdXAtMS05XCI6ICRmYS12YXItYXJyb3ctdXAtMS05LFxuICBcInNvcnQtbnVtZXJpYy11cFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy11cCxcbiAgXCJkb29yLWNsb3NlZFwiOiAkZmEtdmFyLWRvb3ItY2xvc2VkLFxuICBcInNoaWVsZC12aXJ1c1wiOiAkZmEtdmFyLXNoaWVsZC12aXJ1cyxcbiAgXCJkaWNlLXNpeFwiOiAkZmEtdmFyLWRpY2Utc2l4LFxuICBcIm1vc3F1aXRvLW5ldFwiOiAkZmEtdmFyLW1vc3F1aXRvLW5ldCxcbiAgXCJicmlkZ2Utd2F0ZXJcIjogJGZhLXZhci1icmlkZ2Utd2F0ZXIsXG4gIFwicGVyc29uLWJvb3RoXCI6ICRmYS12YXItcGVyc29uLWJvb3RoLFxuICBcInRleHQtd2lkdGhcIjogJGZhLXZhci10ZXh0LXdpZHRoLFxuICBcImhhdC13aXphcmRcIjogJGZhLXZhci1oYXQtd2l6YXJkLFxuICBcInBlbi1mYW5jeVwiOiAkZmEtdmFyLXBlbi1mYW5jeSxcbiAgXCJwZXJzb24tZGlnZ2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1kaWdnaW5nLFxuICBcImRpZ2dpbmdcIjogJGZhLXZhci1kaWdnaW5nLFxuICBcInRyYXNoXCI6ICRmYS12YXItdHJhc2gsXG4gIFwiZ2F1Z2Utc2ltcGxlXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLFxuICBcImdhdWdlLXNpbXBsZS1tZWRcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUtbWVkLFxuICBcInRhY2hvbWV0ZXItYXZlcmFnZVwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYXZlcmFnZSxcbiAgXCJib29rLW1lZGljYWxcIjogJGZhLXZhci1ib29rLW1lZGljYWwsXG4gIFwicG9vXCI6ICRmYS12YXItcG9vLFxuICBcInF1b3RlLXJpZ2h0XCI6ICRmYS12YXItcXVvdGUtcmlnaHQsXG4gIFwicXVvdGUtcmlnaHQtYWx0XCI6ICRmYS12YXItcXVvdGUtcmlnaHQtYWx0LFxuICBcInNoaXJ0XCI6ICRmYS12YXItc2hpcnQsXG4gIFwidC1zaGlydFwiOiAkZmEtdmFyLXQtc2hpcnQsXG4gIFwidHNoaXJ0XCI6ICRmYS12YXItdHNoaXJ0LFxuICBcImN1YmVzXCI6ICRmYS12YXItY3ViZXMsXG4gIFwiZGl2aWRlXCI6ICRmYS12YXItZGl2aWRlLFxuICBcInRlbmdlLXNpZ25cIjogJGZhLXZhci10ZW5nZS1zaWduLFxuICBcInRlbmdlXCI6ICRmYS12YXItdGVuZ2UsXG4gIFwiaGVhZHBob25lc1wiOiAkZmEtdmFyLWhlYWRwaG9uZXMsXG4gIFwiaGFuZHMtaG9sZGluZ1wiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmcsXG4gIFwiaGFuZHMtY2xhcHBpbmdcIjogJGZhLXZhci1oYW5kcy1jbGFwcGluZyxcbiAgXCJyZXB1YmxpY2FuXCI6ICRmYS12YXItcmVwdWJsaWNhbixcbiAgXCJhcnJvdy1sZWZ0XCI6ICRmYS12YXItYXJyb3ctbGVmdCxcbiAgXCJwZXJzb24tY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS14bWFyayxcbiAgXCJydWxlclwiOiAkZmEtdmFyLXJ1bGVyLFxuICBcImFsaWduLWxlZnRcIjogJGZhLXZhci1hbGlnbi1sZWZ0LFxuICBcImRpY2UtZDZcIjogJGZhLXZhci1kaWNlLWQ2LFxuICBcInJlc3Ryb29tXCI6ICRmYS12YXItcmVzdHJvb20sXG4gIFwialwiOiAkZmEtdmFyLWosXG4gIFwidXNlcnMtdmlld2ZpbmRlclwiOiAkZmEtdmFyLXVzZXJzLXZpZXdmaW5kZXIsXG4gIFwiZmlsZS12aWRlb1wiOiAkZmEtdmFyLWZpbGUtdmlkZW8sXG4gIFwidXAtcmlnaHQtZnJvbS1zcXVhcmVcIjogJGZhLXZhci11cC1yaWdodC1mcm9tLXNxdWFyZSxcbiAgXCJleHRlcm5hbC1saW5rLWFsdFwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstYWx0LFxuICBcInRhYmxlLWNlbGxzXCI6ICRmYS12YXItdGFibGUtY2VsbHMsXG4gIFwidGhcIjogJGZhLXZhci10aCxcbiAgXCJmaWxlLXBkZlwiOiAkZmEtdmFyLWZpbGUtcGRmLFxuICBcImJvb2stYmlibGVcIjogJGZhLXZhci1ib29rLWJpYmxlLFxuICBcImJpYmxlXCI6ICRmYS12YXItYmlibGUsXG4gIFwib1wiOiAkZmEtdmFyLW8sXG4gIFwic3VpdGNhc2UtbWVkaWNhbFwiOiAkZmEtdmFyLXN1aXRjYXNlLW1lZGljYWwsXG4gIFwibWVka2l0XCI6ICRmYS12YXItbWVka2l0LFxuICBcInVzZXItc2VjcmV0XCI6ICRmYS12YXItdXNlci1zZWNyZXQsXG4gIFwib3R0ZXJcIjogJGZhLXZhci1vdHRlcixcbiAgXCJwZXJzb24tZHJlc3NcIjogJGZhLXZhci1wZXJzb24tZHJlc3MsXG4gIFwiZmVtYWxlXCI6ICRmYS12YXItZmVtYWxlLFxuICBcImNvbW1lbnQtZG9sbGFyXCI6ICRmYS12YXItY29tbWVudC1kb2xsYXIsXG4gIFwiYnVzaW5lc3MtdGltZVwiOiAkZmEtdmFyLWJ1c2luZXNzLXRpbWUsXG4gIFwiYnJpZWZjYXNlLWNsb2NrXCI6ICRmYS12YXItYnJpZWZjYXNlLWNsb2NrLFxuICBcInRhYmxlLWNlbGxzLWxhcmdlXCI6ICRmYS12YXItdGFibGUtY2VsbHMtbGFyZ2UsXG4gIFwidGgtbGFyZ2VcIjogJGZhLXZhci10aC1sYXJnZSxcbiAgXCJib29rLXRhbmFraFwiOiAkZmEtdmFyLWJvb2stdGFuYWtoLFxuICBcInRhbmFraFwiOiAkZmEtdmFyLXRhbmFraCxcbiAgXCJwaG9uZS12b2x1bWVcIjogJGZhLXZhci1waG9uZS12b2x1bWUsXG4gIFwidm9sdW1lLWNvbnRyb2wtcGhvbmVcIjogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZSxcbiAgXCJoYXQtY293Ym95LXNpZGVcIjogJGZhLXZhci1oYXQtY293Ym95LXNpZGUsXG4gIFwiY2xpcGJvYXJkLXVzZXJcIjogJGZhLXZhci1jbGlwYm9hcmQtdXNlcixcbiAgXCJjaGlsZFwiOiAkZmEtdmFyLWNoaWxkLFxuICBcImxpcmEtc2lnblwiOiAkZmEtdmFyLWxpcmEtc2lnbixcbiAgXCJzYXRlbGxpdGVcIjogJGZhLXZhci1zYXRlbGxpdGUsXG4gIFwicGxhbmUtbG9ja1wiOiAkZmEtdmFyLXBsYW5lLWxvY2ssXG4gIFwidGFnXCI6ICRmYS12YXItdGFnLFxuICBcImNvbW1lbnRcIjogJGZhLXZhci1jb21tZW50LFxuICBcImNha2UtY2FuZGxlc1wiOiAkZmEtdmFyLWNha2UtY2FuZGxlcyxcbiAgXCJiaXJ0aGRheS1jYWtlXCI6ICRmYS12YXItYmlydGhkYXktY2FrZSxcbiAgXCJjYWtlXCI6ICRmYS12YXItY2FrZSxcbiAgXCJlbnZlbG9wZVwiOiAkZmEtdmFyLWVudmVsb3BlLFxuICBcImFuZ2xlcy11cFwiOiAkZmEtdmFyLWFuZ2xlcy11cCxcbiAgXCJhbmdsZS1kb3VibGUtdXBcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtdXAsXG4gIFwicGFwZXJjbGlwXCI6ICRmYS12YXItcGFwZXJjbGlwLFxuICBcImFycm93LXJpZ2h0LXRvLWNpdHlcIjogJGZhLXZhci1hcnJvdy1yaWdodC10by1jaXR5LFxuICBcInJpYmJvblwiOiAkZmEtdmFyLXJpYmJvbixcbiAgXCJsdW5nc1wiOiAkZmEtdmFyLWx1bmdzLFxuICBcImFycm93LXVwLTktMVwiOiAkZmEtdmFyLWFycm93LXVwLTktMSxcbiAgXCJzb3J0LW51bWVyaWMtdXAtYWx0XCI6ICRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCxcbiAgXCJsaXRlY29pbi1zaWduXCI6ICRmYS12YXItbGl0ZWNvaW4tc2lnbixcbiAgXCJib3JkZXItbm9uZVwiOiAkZmEtdmFyLWJvcmRlci1ub25lLFxuICBcImNpcmNsZS1ub2Rlc1wiOiAkZmEtdmFyLWNpcmNsZS1ub2RlcyxcbiAgXCJwYXJhY2h1dGUtYm94XCI6ICRmYS12YXItcGFyYWNodXRlLWJveCxcbiAgXCJpbmRlbnRcIjogJGZhLXZhci1pbmRlbnQsXG4gIFwidHJ1Y2stZmllbGQtdW5cIjogJGZhLXZhci10cnVjay1maWVsZC11bixcbiAgXCJob3VyZ2xhc3NcIjogJGZhLXZhci1ob3VyZ2xhc3MsXG4gIFwiaG91cmdsYXNzLWVtcHR5XCI6ICRmYS12YXItaG91cmdsYXNzLWVtcHR5LFxuICBcIm1vdW50YWluXCI6ICRmYS12YXItbW91bnRhaW4sXG4gIFwidXNlci1kb2N0b3JcIjogJGZhLXZhci11c2VyLWRvY3RvcixcbiAgXCJ1c2VyLW1kXCI6ICRmYS12YXItdXNlci1tZCxcbiAgXCJjaXJjbGUtaW5mb1wiOiAkZmEtdmFyLWNpcmNsZS1pbmZvLFxuICBcImluZm8tY2lyY2xlXCI6ICRmYS12YXItaW5mby1jaXJjbGUsXG4gIFwiY2xvdWQtbWVhdGJhbGxcIjogJGZhLXZhci1jbG91ZC1tZWF0YmFsbCxcbiAgXCJjYW1lcmFcIjogJGZhLXZhci1jYW1lcmEsXG4gIFwiY2FtZXJhLWFsdFwiOiAkZmEtdmFyLWNhbWVyYS1hbHQsXG4gIFwic3F1YXJlLXZpcnVzXCI6ICRmYS12YXItc3F1YXJlLXZpcnVzLFxuICBcIm1ldGVvclwiOiAkZmEtdmFyLW1ldGVvcixcbiAgXCJjYXItb25cIjogJGZhLXZhci1jYXItb24sXG4gIFwic2xlaWdoXCI6ICRmYS12YXItc2xlaWdoLFxuICBcImFycm93LWRvd24tMS05XCI6ICRmYS12YXItYXJyb3ctZG93bi0xLTksXG4gIFwic29ydC1udW1lcmljLWFzY1wiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2MsXG4gIFwic29ydC1udW1lcmljLWRvd25cIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bixcbiAgXCJoYW5kLWhvbGRpbmctZHJvcGxldFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1kcm9wbGV0LFxuICBcImhhbmQtaG9sZGluZy13YXRlclwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcixcbiAgXCJ3YXRlclwiOiAkZmEtdmFyLXdhdGVyLFxuICBcImNhbGVuZGFyLWNoZWNrXCI6ICRmYS12YXItY2FsZW5kYXItY2hlY2ssXG4gIFwiYnJhaWxsZVwiOiAkZmEtdmFyLWJyYWlsbGUsXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGUtYWx0XCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQsXG4gIFwibGFuZG1hcmtcIjogJGZhLXZhci1sYW5kbWFyayxcbiAgXCJ0cnVja1wiOiAkZmEtdmFyLXRydWNrLFxuICBcImNyb3NzaGFpcnNcIjogJGZhLXZhci1jcm9zc2hhaXJzLFxuICBcInBlcnNvbi1jYW5lXCI6ICRmYS12YXItcGVyc29uLWNhbmUsXG4gIFwidGVudFwiOiAkZmEtdmFyLXRlbnQsXG4gIFwidmVzdC1wYXRjaGVzXCI6ICRmYS12YXItdmVzdC1wYXRjaGVzLFxuICBcImNoZWNrLWRvdWJsZVwiOiAkZmEtdmFyLWNoZWNrLWRvdWJsZSxcbiAgXCJhcnJvdy1kb3duLWEtelwiOiAkZmEtdmFyLWFycm93LWRvd24tYS16LFxuICBcInNvcnQtYWxwaGEtYXNjXCI6ICRmYS12YXItc29ydC1hbHBoYS1hc2MsXG4gIFwic29ydC1hbHBoYS1kb3duXCI6ICRmYS12YXItc29ydC1hbHBoYS1kb3duLFxuICBcIm1vbmV5LWJpbGwtd2hlYXRcIjogJGZhLXZhci1tb25leS1iaWxsLXdoZWF0LFxuICBcImNvb2tpZVwiOiAkZmEtdmFyLWNvb2tpZSxcbiAgXCJhcnJvdy1yb3RhdGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1sZWZ0LFxuICBcImFycm93LWxlZnQtcm90YXRlXCI6ICRmYS12YXItYXJyb3ctbGVmdC1yb3RhdGUsXG4gIFwiYXJyb3ctcm90YXRlLWJhY2tcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFjayxcbiAgXCJhcnJvdy1yb3RhdGUtYmFja3dhcmRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtYmFja3dhcmQsXG4gIFwidW5kb1wiOiAkZmEtdmFyLXVuZG8sXG4gIFwiaGFyZC1kcml2ZVwiOiAkZmEtdmFyLWhhcmQtZHJpdmUsXG4gIFwiaGRkXCI6ICRmYS12YXItaGRkLFxuICBcImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnNcIjogJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LXRlYXJzLFxuICBcImdyaW4tc3F1aW50LXRlYXJzXCI6ICRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnMsXG4gIFwiZHVtYmJlbGxcIjogJGZhLXZhci1kdW1iYmVsbCxcbiAgXCJyZWN0YW5nbGUtbGlzdFwiOiAkZmEtdmFyLXJlY3RhbmdsZS1saXN0LFxuICBcImxpc3QtYWx0XCI6ICRmYS12YXItbGlzdC1hbHQsXG4gIFwidGFycC1kcm9wbGV0XCI6ICRmYS12YXItdGFycC1kcm9wbGV0LFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLXNraWluZy1ub3JkaWNcIjogJGZhLXZhci1wZXJzb24tc2tpaW5nLW5vcmRpYyxcbiAgXCJza2lpbmctbm9yZGljXCI6ICRmYS12YXItc2tpaW5nLW5vcmRpYyxcbiAgXCJjYWxlbmRhci1wbHVzXCI6ICRmYS12YXItY2FsZW5kYXItcGx1cyxcbiAgXCJwbGFuZS1hcnJpdmFsXCI6ICRmYS12YXItcGxhbmUtYXJyaXZhbCxcbiAgXCJjaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1sZWZ0LFxuICBcImFycm93LWFsdC1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdCxcbiAgXCJ0cmFpbi1zdWJ3YXlcIjogJGZhLXZhci10cmFpbi1zdWJ3YXksXG4gIFwic3Vid2F5XCI6ICRmYS12YXItc3Vid2F5LFxuICBcImNoYXJ0LWdhbnR0XCI6ICRmYS12YXItY2hhcnQtZ2FudHQsXG4gIFwiaW5kaWFuLXJ1cGVlLXNpZ25cIjogJGZhLXZhci1pbmRpYW4tcnVwZWUtc2lnbixcbiAgXCJpbmRpYW4tcnVwZWVcIjogJGZhLXZhci1pbmRpYW4tcnVwZWUsXG4gIFwiaW5yXCI6ICRmYS12YXItaW5yLFxuICBcImNyb3Atc2ltcGxlXCI6ICRmYS12YXItY3JvcC1zaW1wbGUsXG4gIFwiY3JvcC1hbHRcIjogJGZhLXZhci1jcm9wLWFsdCxcbiAgXCJtb25leS1iaWxsLTFcIjogJGZhLXZhci1tb25leS1iaWxsLTEsXG4gIFwibW9uZXktYmlsbC1hbHRcIjogJGZhLXZhci1tb25leS1iaWxsLWFsdCxcbiAgXCJsZWZ0LWxvbmdcIjogJGZhLXZhci1sZWZ0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtbGVmdFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQsXG4gIFwiZG5hXCI6ICRmYS12YXItZG5hLFxuICBcInZpcnVzLXNsYXNoXCI6ICRmYS12YXItdmlydXMtc2xhc2gsXG4gIFwibWludXNcIjogJGZhLXZhci1taW51cyxcbiAgXCJzdWJ0cmFjdFwiOiAkZmEtdmFyLXN1YnRyYWN0LFxuICBcImNoZXNzXCI6ICRmYS12YXItY2hlc3MsXG4gIFwiYXJyb3ctbGVmdC1sb25nXCI6ICRmYS12YXItYXJyb3ctbGVmdC1sb25nLFxuICBcImxvbmctYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdCxcbiAgXCJwbHVnLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWNoZWNrLFxuICBcInN0cmVldC12aWV3XCI6ICRmYS12YXItc3RyZWV0LXZpZXcsXG4gIFwiZnJhbmMtc2lnblwiOiAkZmEtdmFyLWZyYW5jLXNpZ24sXG4gIFwidm9sdW1lLW9mZlwiOiAkZmEtdmFyLXZvbHVtZS1vZmYsXG4gIFwiaGFuZHMtYXNsLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWhhbmRzLWFzbC1pbnRlcnByZXRpbmcsXG4gIFwiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyxcbiAgXCJhc2wtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItYXNsLWludGVycHJldGluZyxcbiAgXCJoYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nLFxuICBcImdlYXJcIjogJGZhLXZhci1nZWFyLFxuICBcImNvZ1wiOiAkZmEtdmFyLWNvZyxcbiAgXCJkcm9wbGV0LXNsYXNoXCI6ICRmYS12YXItZHJvcGxldC1zbGFzaCxcbiAgXCJ0aW50LXNsYXNoXCI6ICRmYS12YXItdGludC1zbGFzaCxcbiAgXCJtb3NxdWVcIjogJGZhLXZhci1tb3NxdWUsXG4gIFwibW9zcXVpdG9cIjogJGZhLXZhci1tb3NxdWl0byxcbiAgXCJzdGFyLW9mLWRhdmlkXCI6ICRmYS12YXItc3Rhci1vZi1kYXZpZCxcbiAgXCJwZXJzb24tbWlsaXRhcnktcmlmbGVcIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcmlmbGUsXG4gIFwiY2FydC1zaG9wcGluZ1wiOiAkZmEtdmFyLWNhcnQtc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctY2FydFwiOiAkZmEtdmFyLXNob3BwaW5nLWNhcnQsXG4gIFwidmlhbHNcIjogJGZhLXZhci12aWFscyxcbiAgXCJwbHVnLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtcGx1cyxcbiAgXCJwbGFjZS1vZi13b3JzaGlwXCI6ICRmYS12YXItcGxhY2Utb2Ytd29yc2hpcCxcbiAgXCJncmlwLXZlcnRpY2FsXCI6ICRmYS12YXItZ3JpcC12ZXJ0aWNhbCxcbiAgXCJhcnJvdy10dXJuLXVwXCI6ICRmYS12YXItYXJyb3ctdHVybi11cCxcbiAgXCJsZXZlbC11cFwiOiAkZmEtdmFyLWxldmVsLXVwLFxuICBcInVcIjogJGZhLXZhci11LFxuICBcInNxdWFyZS1yb290LXZhcmlhYmxlXCI6ICRmYS12YXItc3F1YXJlLXJvb3QtdmFyaWFibGUsXG4gIFwic3F1YXJlLXJvb3QtYWx0XCI6ICRmYS12YXItc3F1YXJlLXJvb3QtYWx0LFxuICBcImNsb2NrXCI6ICRmYS12YXItY2xvY2ssXG4gIFwiY2xvY2stZm91clwiOiAkZmEtdmFyLWNsb2NrLWZvdXIsXG4gIFwiYmFja3dhcmQtc3RlcFwiOiAkZmEtdmFyLWJhY2t3YXJkLXN0ZXAsXG4gIFwic3RlcC1iYWNrd2FyZFwiOiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQsXG4gIFwicGFsbGV0XCI6ICRmYS12YXItcGFsbGV0LFxuICBcImZhdWNldFwiOiAkZmEtdmFyLWZhdWNldCxcbiAgXCJiYXNlYmFsbC1iYXQtYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLWJhdC1iYWxsLFxuICBcInNcIjogJGZhLXZhci1zLFxuICBcInRpbWVsaW5lXCI6ICRmYS12YXItdGltZWxpbmUsXG4gIFwia2V5Ym9hcmRcIjogJGZhLXZhci1rZXlib2FyZCxcbiAgXCJjYXJldC1kb3duXCI6ICRmYS12YXItY2FyZXQtZG93bixcbiAgXCJob3VzZS1jaGltbmV5LW1lZGljYWxcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LW1lZGljYWwsXG4gIFwiY2xpbmljLW1lZGljYWxcIjogJGZhLXZhci1jbGluaWMtbWVkaWNhbCxcbiAgXCJ0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzLFxuICBcInRlbXBlcmF0dXJlLTNcIjogJGZhLXZhci10ZW1wZXJhdHVyZS0zLFxuICBcInRoZXJtb21ldGVyLTNcIjogJGZhLXZhci10aGVybW9tZXRlci0zLFxuICBcInRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMsXG4gIFwibW9iaWxlLXNjcmVlblwiOiAkZmEtdmFyLW1vYmlsZS1zY3JlZW4sXG4gIFwibW9iaWxlLWFuZHJvaWQtYWx0XCI6ICRmYS12YXItbW9iaWxlLWFuZHJvaWQtYWx0LFxuICBcInBsYW5lLXVwXCI6ICRmYS12YXItcGxhbmUtdXAsXG4gIFwicGlnZ3ktYmFua1wiOiAkZmEtdmFyLXBpZ2d5LWJhbmssXG4gIFwiYmF0dGVyeS1oYWxmXCI6ICRmYS12YXItYmF0dGVyeS1oYWxmLFxuICBcImJhdHRlcnktM1wiOiAkZmEtdmFyLWJhdHRlcnktMyxcbiAgXCJtb3VudGFpbi1jaXR5XCI6ICRmYS12YXItbW91bnRhaW4tY2l0eSxcbiAgXCJjb2luc1wiOiAkZmEtdmFyLWNvaW5zLFxuICBcImtoYW5kYVwiOiAkZmEtdmFyLWtoYW5kYSxcbiAgXCJzbGlkZXJzXCI6ICRmYS12YXItc2xpZGVycyxcbiAgXCJzbGlkZXJzLWhcIjogJGZhLXZhci1zbGlkZXJzLWgsXG4gIFwiZm9sZGVyLXRyZWVcIjogJGZhLXZhci1mb2xkZXItdHJlZSxcbiAgXCJuZXR3b3JrLXdpcmVkXCI6ICRmYS12YXItbmV0d29yay13aXJlZCxcbiAgXCJtYXAtcGluXCI6ICRmYS12YXItbWFwLXBpbixcbiAgXCJoYW1zYVwiOiAkZmEtdmFyLWhhbXNhLFxuICBcImNlbnQtc2lnblwiOiAkZmEtdmFyLWNlbnQtc2lnbixcbiAgXCJmbGFza1wiOiAkZmEtdmFyLWZsYXNrLFxuICBcInBlcnNvbi1wcmVnbmFudFwiOiAkZmEtdmFyLXBlcnNvbi1wcmVnbmFudCxcbiAgXCJ3YW5kLXNwYXJrbGVzXCI6ICRmYS12YXItd2FuZC1zcGFya2xlcyxcbiAgXCJlbGxpcHNpcy12ZXJ0aWNhbFwiOiAkZmEtdmFyLWVsbGlwc2lzLXZlcnRpY2FsLFxuICBcImVsbGlwc2lzLXZcIjogJGZhLXZhci1lbGxpcHNpcy12LFxuICBcInRpY2tldFwiOiAkZmEtdmFyLXRpY2tldCxcbiAgXCJwb3dlci1vZmZcIjogJGZhLXZhci1wb3dlci1vZmYsXG4gIFwicmlnaHQtbG9uZ1wiOiAkZmEtdmFyLXJpZ2h0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtcmlnaHRcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodCxcbiAgXCJmbGFnLXVzYVwiOiAkZmEtdmFyLWZsYWctdXNhLFxuICBcImxhcHRvcC1maWxlXCI6ICRmYS12YXItbGFwdG9wLWZpbGUsXG4gIFwidHR5XCI6ICRmYS12YXItdHR5LFxuICBcInRlbGV0eXBlXCI6ICRmYS12YXItdGVsZXR5cGUsXG4gIFwiZGlhZ3JhbS1uZXh0XCI6ICRmYS12YXItZGlhZ3JhbS1uZXh0LFxuICBcInBlcnNvbi1yaWZsZVwiOiAkZmEtdmFyLXBlcnNvbi1yaWZsZSxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNsb3NlZC1jYXB0aW9uaW5nXCI6ICRmYS12YXItY2xvc2VkLWNhcHRpb25pbmcsXG4gIFwicGVyc29uLWhpa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1oaWtpbmcsXG4gIFwiaGlraW5nXCI6ICRmYS12YXItaGlraW5nLFxuICBcInZlbnVzLWRvdWJsZVwiOiAkZmEtdmFyLXZlbnVzLWRvdWJsZSxcbiAgXCJpbWFnZXNcIjogJGZhLXZhci1pbWFnZXMsXG4gIFwiY2FsY3VsYXRvclwiOiAkZmEtdmFyLWNhbGN1bGF0b3IsXG4gIFwicGVvcGxlLXB1bGxpbmdcIjogJGZhLXZhci1wZW9wbGUtcHVsbGluZyxcbiAgXCJuXCI6ICRmYS12YXItbixcbiAgXCJjYWJsZS1jYXJcIjogJGZhLXZhci1jYWJsZS1jYXIsXG4gIFwidHJhbVwiOiAkZmEtdmFyLXRyYW0sXG4gIFwiY2xvdWQtcmFpblwiOiAkZmEtdmFyLWNsb3VkLXJhaW4sXG4gIFwiYnVpbGRpbmctY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLXhtYXJrLFxuICBcInNoaXBcIjogJGZhLXZhci1zaGlwLFxuICBcImFycm93cy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtZG93bi10by1saW5lLFxuICBcImRvd25sb2FkXCI6ICRmYS12YXItZG93bmxvYWQsXG4gIFwiZmFjZS1ncmluXCI6ICRmYS12YXItZmFjZS1ncmluLFxuICBcImdyaW5cIjogJGZhLXZhci1ncmluLFxuICBcImRlbGV0ZS1sZWZ0XCI6ICRmYS12YXItZGVsZXRlLWxlZnQsXG4gIFwiYmFja3NwYWNlXCI6ICRmYS12YXItYmFja3NwYWNlLFxuICBcImV5ZS1kcm9wcGVyXCI6ICRmYS12YXItZXllLWRyb3BwZXIsXG4gIFwiZXllLWRyb3BwZXItZW1wdHlcIjogJGZhLXZhci1leWUtZHJvcHBlci1lbXB0eSxcbiAgXCJleWVkcm9wcGVyXCI6ICRmYS12YXItZXllZHJvcHBlcixcbiAgXCJmaWxlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLWNoZWNrLFxuICBcImZvcndhcmRcIjogJGZhLXZhci1mb3J3YXJkLFxuICBcIm1vYmlsZVwiOiAkZmEtdmFyLW1vYmlsZSxcbiAgXCJtb2JpbGUtYW5kcm9pZFwiOiAkZmEtdmFyLW1vYmlsZS1hbmRyb2lkLFxuICBcIm1vYmlsZS1waG9uZVwiOiAkZmEtdmFyLW1vYmlsZS1waG9uZSxcbiAgXCJmYWNlLW1laFwiOiAkZmEtdmFyLWZhY2UtbWVoLFxuICBcIm1laFwiOiAkZmEtdmFyLW1laCxcbiAgXCJhbGlnbi1jZW50ZXJcIjogJGZhLXZhci1hbGlnbi1jZW50ZXIsXG4gIFwiYm9vay1za3VsbFwiOiAkZmEtdmFyLWJvb2stc2t1bGwsXG4gIFwiYm9vay1kZWFkXCI6ICRmYS12YXItYm9vay1kZWFkLFxuICBcImlkLWNhcmRcIjogJGZhLXZhci1pZC1jYXJkLFxuICBcImRyaXZlcnMtbGljZW5zZVwiOiAkZmEtdmFyLWRyaXZlcnMtbGljZW5zZSxcbiAgXCJvdXRkZW50XCI6ICRmYS12YXItb3V0ZGVudCxcbiAgXCJkZWRlbnRcIjogJGZhLXZhci1kZWRlbnQsXG4gIFwiaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImhvdXNlXCI6ICRmYS12YXItaG91c2UsXG4gIFwiaG9tZVwiOiAkZmEtdmFyLWhvbWUsXG4gIFwiaG9tZS1hbHRcIjogJGZhLXZhci1ob21lLWFsdCxcbiAgXCJob21lLWxnLWFsdFwiOiAkZmEtdmFyLWhvbWUtbGctYWx0LFxuICBcImNhbGVuZGFyLXdlZWtcIjogJGZhLXZhci1jYWxlbmRhci13ZWVrLFxuICBcImxhcHRvcC1tZWRpY2FsXCI6ICRmYS12YXItbGFwdG9wLW1lZGljYWwsXG4gIFwiYlwiOiAkZmEtdmFyLWIsXG4gIFwiZmlsZS1tZWRpY2FsXCI6ICRmYS12YXItZmlsZS1tZWRpY2FsLFxuICBcImRpY2Utb25lXCI6ICRmYS12YXItZGljZS1vbmUsXG4gIFwia2l3aS1iaXJkXCI6ICRmYS12YXIta2l3aS1iaXJkLFxuICBcImFycm93LXJpZ2h0LWFycm93LWxlZnRcIjogJGZhLXZhci1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0LFxuICBcImV4Y2hhbmdlXCI6ICRmYS12YXItZXhjaGFuZ2UsXG4gIFwicm90YXRlLXJpZ2h0XCI6ICRmYS12YXItcm90YXRlLXJpZ2h0LFxuICBcInJlZG8tYWx0XCI6ICRmYS12YXItcmVkby1hbHQsXG4gIFwicm90YXRlLWZvcndhcmRcIjogJGZhLXZhci1yb3RhdGUtZm9yd2FyZCxcbiAgXCJ1dGVuc2lsc1wiOiAkZmEtdmFyLXV0ZW5zaWxzLFxuICBcImN1dGxlcnlcIjogJGZhLXZhci1jdXRsZXJ5LFxuICBcImFycm93LXVwLXdpZGUtc2hvcnRcIjogJGZhLXZhci1hcnJvdy11cC13aWRlLXNob3J0LFxuICBcInNvcnQtYW1vdW50LXVwXCI6ICRmYS12YXItc29ydC1hbW91bnQtdXAsXG4gIFwibWlsbC1zaWduXCI6ICRmYS12YXItbWlsbC1zaWduLFxuICBcImJvd2wtcmljZVwiOiAkZmEtdmFyLWJvd2wtcmljZSxcbiAgXCJza3VsbFwiOiAkZmEtdmFyLXNrdWxsLFxuICBcInRvd2VyLWJyb2FkY2FzdFwiOiAkZmEtdmFyLXRvd2VyLWJyb2FkY2FzdCxcbiAgXCJicm9hZGNhc3QtdG93ZXJcIjogJGZhLXZhci1icm9hZGNhc3QtdG93ZXIsXG4gIFwidHJ1Y2stcGlja3VwXCI6ICRmYS12YXItdHJ1Y2stcGlja3VwLFxuICBcInVwLWxvbmdcIjogJGZhLXZhci11cC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LXVwXCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtdXAsXG4gIFwic3RvcFwiOiAkZmEtdmFyLXN0b3AsXG4gIFwiY29kZS1tZXJnZVwiOiAkZmEtdmFyLWNvZGUtbWVyZ2UsXG4gIFwidXBsb2FkXCI6ICRmYS12YXItdXBsb2FkLFxuICBcImh1cnJpY2FuZVwiOiAkZmEtdmFyLWh1cnJpY2FuZSxcbiAgXCJtb3VuZFwiOiAkZmEtdmFyLW1vdW5kLFxuICBcInRvaWxldC1wb3J0YWJsZVwiOiAkZmEtdmFyLXRvaWxldC1wb3J0YWJsZSxcbiAgXCJjb21wYWN0LWRpc2NcIjogJGZhLXZhci1jb21wYWN0LWRpc2MsXG4gIFwiZmlsZS1hcnJvdy1kb3duXCI6ICRmYS12YXItZmlsZS1hcnJvdy1kb3duLFxuICBcImZpbGUtZG93bmxvYWRcIjogJGZhLXZhci1maWxlLWRvd25sb2FkLFxuICBcImNhcmF2YW5cIjogJGZhLXZhci1jYXJhdmFuLFxuICBcInNoaWVsZC1jYXRcIjogJGZhLXZhci1zaGllbGQtY2F0LFxuICBcImJvbHRcIjogJGZhLXZhci1ib2x0LFxuICBcInphcFwiOiAkZmEtdmFyLXphcCxcbiAgXCJnbGFzcy13YXRlclwiOiAkZmEtdmFyLWdsYXNzLXdhdGVyLFxuICBcIm9pbC13ZWxsXCI6ICRmYS12YXItb2lsLXdlbGwsXG4gIFwidmF1bHRcIjogJGZhLXZhci12YXVsdCxcbiAgXCJtYXJzXCI6ICRmYS12YXItbWFycyxcbiAgXCJ0b2lsZXRcIjogJGZhLXZhci10b2lsZXQsXG4gIFwicGxhbmUtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLXhtYXJrLFxuICBcInllbi1zaWduXCI6ICRmYS12YXIteWVuLXNpZ24sXG4gIFwiY255XCI6ICRmYS12YXItY255LFxuICBcImpweVwiOiAkZmEtdmFyLWpweSxcbiAgXCJybWJcIjogJGZhLXZhci1ybWIsXG4gIFwieWVuXCI6ICRmYS12YXIteWVuLFxuICBcInJ1YmxlLXNpZ25cIjogJGZhLXZhci1ydWJsZS1zaWduLFxuICBcInJvdWJsZVwiOiAkZmEtdmFyLXJvdWJsZSxcbiAgXCJydWJcIjogJGZhLXZhci1ydWIsXG4gIFwicnVibGVcIjogJGZhLXZhci1ydWJsZSxcbiAgXCJzdW5cIjogJGZhLXZhci1zdW4sXG4gIFwiZ3VpdGFyXCI6ICRmYS12YXItZ3VpdGFyLFxuICBcImZhY2UtbGF1Z2gtd2lua1wiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtd2luayxcbiAgXCJsYXVnaC13aW5rXCI6ICRmYS12YXItbGF1Z2gtd2luayxcbiAgXCJob3JzZS1oZWFkXCI6ICRmYS12YXItaG9yc2UtaGVhZCxcbiAgXCJib3JlLWhvbGVcIjogJGZhLXZhci1ib3JlLWhvbGUsXG4gIFwiaW5kdXN0cnlcIjogJGZhLXZhci1pbmR1c3RyeSxcbiAgXCJjaXJjbGUtZG93blwiOiAkZmEtdmFyLWNpcmNsZS1kb3duLFxuICBcImFycm93LWFsdC1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bixcbiAgXCJhcnJvd3MtdHVybi10by1kb3RzXCI6ICRmYS12YXItYXJyb3dzLXR1cm4tdG8tZG90cyxcbiAgXCJmbG9yaW4tc2lnblwiOiAkZmEtdmFyLWZsb3Jpbi1zaWduLFxuICBcImFycm93LWRvd24tc2hvcnQtd2lkZVwiOiAkZmEtdmFyLWFycm93LWRvd24tc2hvcnQtd2lkZSxcbiAgXCJzb3J0LWFtb3VudC1kZXNjXCI6ICRmYS12YXItc29ydC1hbW91bnQtZGVzYyxcbiAgXCJzb3J0LWFtb3VudC1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0LFxuICBcImxlc3MtdGhhblwiOiAkZmEtdmFyLWxlc3MtdGhhbixcbiAgXCJhbmdsZS1kb3duXCI6ICRmYS12YXItYW5nbGUtZG93bixcbiAgXCJjYXItdHVubmVsXCI6ICRmYS12YXItY2FyLXR1bm5lbCxcbiAgXCJoZWFkLXNpZGUtY291Z2hcIjogJGZhLXZhci1oZWFkLXNpZGUtY291Z2gsXG4gIFwiZ3JpcC1saW5lc1wiOiAkZmEtdmFyLWdyaXAtbGluZXMsXG4gIFwidGh1bWJzLWRvd25cIjogJGZhLXZhci10aHVtYnMtZG93bixcbiAgXCJ1c2VyLWxvY2tcIjogJGZhLXZhci11c2VyLWxvY2ssXG4gIFwiYXJyb3ctcmlnaHQtbG9uZ1wiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQsXG4gIFwiYW5jaG9yLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUteG1hcmssXG4gIFwiZWxsaXBzaXNcIjogJGZhLXZhci1lbGxpcHNpcyxcbiAgXCJlbGxpcHNpcy1oXCI6ICRmYS12YXItZWxsaXBzaXMtaCxcbiAgXCJjaGVzcy1wYXduXCI6ICRmYS12YXItY2hlc3MtcGF3bixcbiAgXCJraXQtbWVkaWNhbFwiOiAkZmEtdmFyLWtpdC1tZWRpY2FsLFxuICBcImZpcnN0LWFpZFwiOiAkZmEtdmFyLWZpcnN0LWFpZCxcbiAgXCJwZXJzb24tdGhyb3VnaC13aW5kb3dcIjogJGZhLXZhci1wZXJzb24tdGhyb3VnaC13aW5kb3csXG4gIFwidG9vbGJveFwiOiAkZmEtdmFyLXRvb2xib3gsXG4gIFwiaGFuZHMtaG9sZGluZy1jaXJjbGVcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLWNpcmNsZSxcbiAgXCJidWdcIjogJGZhLXZhci1idWcsXG4gIFwiY3JlZGl0LWNhcmRcIjogJGZhLXZhci1jcmVkaXQtY2FyZCxcbiAgXCJjcmVkaXQtY2FyZC1hbHRcIjogJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQsXG4gIFwiY2FyXCI6ICRmYS12YXItY2FyLFxuICBcImF1dG9tb2JpbGVcIjogJGZhLXZhci1hdXRvbW9iaWxlLFxuICBcImhhbmQtaG9sZGluZy1oYW5kXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWhhbmQsXG4gIFwiYm9vay1vcGVuLXJlYWRlclwiOiAkZmEtdmFyLWJvb2stb3Blbi1yZWFkZXIsXG4gIFwiYm9vay1yZWFkZXJcIjogJGZhLXZhci1ib29rLXJlYWRlcixcbiAgXCJtb3VudGFpbi1zdW5cIjogJGZhLXZhci1tb3VudGFpbi1zdW4sXG4gIFwiYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmUsXG4gIFwiZGljZS1kMjBcIjogJGZhLXZhci1kaWNlLWQyMCxcbiAgXCJ0cnVjay1kcm9wbGV0XCI6ICRmYS12YXItdHJ1Y2stZHJvcGxldCxcbiAgXCJmaWxlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXhtYXJrLFxuICBcInRlbXBlcmF0dXJlLWFycm93LXVwXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctdXAsXG4gIFwidGVtcGVyYXR1cmUtdXBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS11cCxcbiAgXCJtZWRhbFwiOiAkZmEtdmFyLW1lZGFsLFxuICBcImJlZFwiOiAkZmEtdmFyLWJlZCxcbiAgXCJzcXVhcmUtaFwiOiAkZmEtdmFyLXNxdWFyZS1oLFxuICBcImgtc3F1YXJlXCI6ICRmYS12YXItaC1zcXVhcmUsXG4gIFwicG9kY2FzdFwiOiAkZmEtdmFyLXBvZGNhc3QsXG4gIFwidGVtcGVyYXR1cmUtZnVsbFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWZ1bGwsXG4gIFwidGVtcGVyYXR1cmUtNFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTQsXG4gIFwidGhlcm1vbWV0ZXItNFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTQsXG4gIFwidGhlcm1vbWV0ZXItZnVsbFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGwsXG4gIFwiYmVsbFwiOiAkZmEtdmFyLWJlbGwsXG4gIFwic3VwZXJzY3JpcHRcIjogJGZhLXZhci1zdXBlcnNjcmlwdCxcbiAgXCJwbHVnLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLXhtYXJrLFxuICBcInN0YXItb2YtbGlmZVwiOiAkZmEtdmFyLXN0YXItb2YtbGlmZSxcbiAgXCJwaG9uZS1zbGFzaFwiOiAkZmEtdmFyLXBob25lLXNsYXNoLFxuICBcInBhaW50LXJvbGxlclwiOiAkZmEtdmFyLXBhaW50LXJvbGxlcixcbiAgXCJoYW5kc2hha2UtYW5nbGVcIjogJGZhLXZhci1oYW5kc2hha2UtYW5nbGUsXG4gIFwiaGFuZHMtaGVscGluZ1wiOiAkZmEtdmFyLWhhbmRzLWhlbHBpbmcsXG4gIFwibG9jYXRpb24tZG90XCI6ICRmYS12YXItbG9jYXRpb24tZG90LFxuICBcIm1hcC1tYXJrZXItYWx0XCI6ICRmYS12YXItbWFwLW1hcmtlci1hbHQsXG4gIFwiZmlsZVwiOiAkZmEtdmFyLWZpbGUsXG4gIFwiZ3JlYXRlci10aGFuXCI6ICRmYS12YXItZ3JlYXRlci10aGFuLFxuICBcInBlcnNvbi1zd2ltbWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1zd2ltbWluZyxcbiAgXCJzd2ltbWVyXCI6ICRmYS12YXItc3dpbW1lcixcbiAgXCJhcnJvdy1kb3duXCI6ICRmYS12YXItYXJyb3ctZG93bixcbiAgXCJkcm9wbGV0XCI6ICRmYS12YXItZHJvcGxldCxcbiAgXCJ0aW50XCI6ICRmYS12YXItdGludCxcbiAgXCJlcmFzZXJcIjogJGZhLXZhci1lcmFzZXIsXG4gIFwiZWFydGgtYW1lcmljYXNcIjogJGZhLXZhci1lYXJ0aC1hbWVyaWNhcyxcbiAgXCJlYXJ0aFwiOiAkZmEtdmFyLWVhcnRoLFxuICBcImVhcnRoLWFtZXJpY2FcIjogJGZhLXZhci1lYXJ0aC1hbWVyaWNhLFxuICBcImdsb2JlLWFtZXJpY2FzXCI6ICRmYS12YXItZ2xvYmUtYW1lcmljYXMsXG4gIFwicGVyc29uLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWJ1cnN0LFxuICBcImRvdmVcIjogJGZhLXZhci1kb3ZlLFxuICBcImJhdHRlcnktZW1wdHlcIjogJGZhLXZhci1iYXR0ZXJ5LWVtcHR5LFxuICBcImJhdHRlcnktMFwiOiAkZmEtdmFyLWJhdHRlcnktMCxcbiAgXCJzb2Nrc1wiOiAkZmEtdmFyLXNvY2tzLFxuICBcImluYm94XCI6ICRmYS12YXItaW5ib3gsXG4gIFwic2VjdGlvblwiOiAkZmEtdmFyLXNlY3Rpb24sXG4gIFwiZ2F1Z2UtaGlnaFwiOiAkZmEtdmFyLWdhdWdlLWhpZ2gsXG4gIFwidGFjaG9tZXRlci1hbHRcIjogJGZhLXZhci10YWNob21ldGVyLWFsdCxcbiAgXCJ0YWNob21ldGVyLWFsdC1mYXN0XCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdCxcbiAgXCJlbnZlbG9wZS1vcGVuLXRleHRcIjogJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQsXG4gIFwiaG9zcGl0YWxcIjogJGZhLXZhci1ob3NwaXRhbCxcbiAgXCJob3NwaXRhbC1hbHRcIjogJGZhLXZhci1ob3NwaXRhbC1hbHQsXG4gIFwiaG9zcGl0YWwtd2lkZVwiOiAkZmEtdmFyLWhvc3BpdGFsLXdpZGUsXG4gIFwid2luZS1ib3R0bGVcIjogJGZhLXZhci13aW5lLWJvdHRsZSxcbiAgXCJjaGVzcy1yb29rXCI6ICRmYS12YXItY2hlc3Mtcm9vayxcbiAgXCJiYXJzLXN0YWdnZXJlZFwiOiAkZmEtdmFyLWJhcnMtc3RhZ2dlcmVkLFxuICBcInJlb3JkZXJcIjogJGZhLXZhci1yZW9yZGVyLFxuICBcInN0cmVhbVwiOiAkZmEtdmFyLXN0cmVhbSxcbiAgXCJkaGFybWFjaGFrcmFcIjogJGZhLXZhci1kaGFybWFjaGFrcmEsXG4gIFwiaG90ZG9nXCI6ICRmYS12YXItaG90ZG9nLFxuICBcInBlcnNvbi13YWxraW5nLXdpdGgtY2FuZVwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLXdpdGgtY2FuZSxcbiAgXCJibGluZFwiOiAkZmEtdmFyLWJsaW5kLFxuICBcImRydW1cIjogJGZhLXZhci1kcnVtLFxuICBcImljZS1jcmVhbVwiOiAkZmEtdmFyLWljZS1jcmVhbSxcbiAgXCJoZWFydC1jaXJjbGUtYm9sdFwiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1ib2x0LFxuICBcImZheFwiOiAkZmEtdmFyLWZheCxcbiAgXCJwYXJhZ3JhcGhcIjogJGZhLXZhci1wYXJhZ3JhcGgsXG4gIFwiY2hlY2stdG8tc2xvdFwiOiAkZmEtdmFyLWNoZWNrLXRvLXNsb3QsXG4gIFwidm90ZS15ZWFcIjogJGZhLXZhci12b3RlLXllYSxcbiAgXCJzdGFyLWhhbGZcIjogJGZhLXZhci1zdGFyLWhhbGYsXG4gIFwiYm94ZXMtc3RhY2tlZFwiOiAkZmEtdmFyLWJveGVzLXN0YWNrZWQsXG4gIFwiYm94ZXNcIjogJGZhLXZhci1ib3hlcyxcbiAgXCJib3hlcy1hbHRcIjogJGZhLXZhci1ib3hlcy1hbHQsXG4gIFwibGlua1wiOiAkZmEtdmFyLWxpbmssXG4gIFwiY2hhaW5cIjogJGZhLXZhci1jaGFpbixcbiAgXCJlYXItbGlzdGVuXCI6ICRmYS12YXItZWFyLWxpc3RlbixcbiAgXCJhc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXNcIjogJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMsXG4gIFwidHJlZS1jaXR5XCI6ICRmYS12YXItdHJlZS1jaXR5LFxuICBcInBsYXlcIjogJGZhLXZhci1wbGF5LFxuICBcImZvbnRcIjogJGZhLXZhci1mb250LFxuICBcInJ1cGlhaC1zaWduXCI6ICRmYS12YXItcnVwaWFoLXNpZ24sXG4gIFwibWFnbmlmeWluZy1nbGFzc1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MsXG4gIFwic2VhcmNoXCI6ICRmYS12YXItc2VhcmNoLFxuICBcInRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbFwiOiAkZmEtdmFyLXRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCxcbiAgXCJwaW5nLXBvbmctcGFkZGxlLWJhbGxcIjogJGZhLXZhci1waW5nLXBvbmctcGFkZGxlLWJhbGwsXG4gIFwidGFibGUtdGVubmlzXCI6ICRmYS12YXItdGFibGUtdGVubmlzLFxuICBcInBlcnNvbi1kb3RzLWZyb20tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1kb3RzLWZyb20tbGluZSxcbiAgXCJkaWFnbm9zZXNcIjogJGZhLXZhci1kaWFnbm9zZXMsXG4gIFwidHJhc2gtY2FuLWFycm93LXVwXCI6ICRmYS12YXItdHJhc2gtY2FuLWFycm93LXVwLFxuICBcInRyYXNoLXJlc3RvcmUtYWx0XCI6ICRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQsXG4gIFwibmFpcmEtc2lnblwiOiAkZmEtdmFyLW5haXJhLXNpZ24sXG4gIFwiY2FydC1hcnJvdy1kb3duXCI6ICRmYS12YXItY2FydC1hcnJvdy1kb3duLFxuICBcIndhbGtpZS10YWxraWVcIjogJGZhLXZhci13YWxraWUtdGFsa2llLFxuICBcImZpbGUtcGVuXCI6ICRmYS12YXItZmlsZS1wZW4sXG4gIFwiZmlsZS1lZGl0XCI6ICRmYS12YXItZmlsZS1lZGl0LFxuICBcInJlY2VpcHRcIjogJGZhLXZhci1yZWNlaXB0LFxuICBcInNxdWFyZS1wZW5cIjogJGZhLXZhci1zcXVhcmUtcGVuLFxuICBcInBlbi1zcXVhcmVcIjogJGZhLXZhci1wZW4tc3F1YXJlLFxuICBcInBlbmNpbC1zcXVhcmVcIjogJGZhLXZhci1wZW5jaWwtc3F1YXJlLFxuICBcInN1aXRjYXNlLXJvbGxpbmdcIjogJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nLFxuICBcInBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNoZXZyb24tZG93blwiOiAkZmEtdmFyLWNoZXZyb24tZG93bixcbiAgXCJiYXR0ZXJ5LWZ1bGxcIjogJGZhLXZhci1iYXR0ZXJ5LWZ1bGwsXG4gIFwiYmF0dGVyeVwiOiAkZmEtdmFyLWJhdHRlcnksXG4gIFwiYmF0dGVyeS01XCI6ICRmYS12YXItYmF0dGVyeS01LFxuICBcInNrdWxsLWNyb3NzYm9uZXNcIjogJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzLFxuICBcImNvZGUtY29tcGFyZVwiOiAkZmEtdmFyLWNvZGUtY29tcGFyZSxcbiAgXCJsaXN0LXVsXCI6ICRmYS12YXItbGlzdC11bCxcbiAgXCJsaXN0LWRvdHNcIjogJGZhLXZhci1saXN0LWRvdHMsXG4gIFwic2Nob29sLWxvY2tcIjogJGZhLXZhci1zY2hvb2wtbG9jayxcbiAgXCJ0b3dlci1jZWxsXCI6ICRmYS12YXItdG93ZXItY2VsbCxcbiAgXCJkb3duLWxvbmdcIjogJGZhLXZhci1kb3duLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtZG93blwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24sXG4gIFwicmFua2luZy1zdGFyXCI6ICRmYS12YXItcmFua2luZy1zdGFyLFxuICBcImNoZXNzLWtpbmdcIjogJGZhLXZhci1jaGVzcy1raW5nLFxuICBcInBlcnNvbi1oYXJhc3NpbmdcIjogJGZhLXZhci1wZXJzb24taGFyYXNzaW5nLFxuICBcImJyYXppbGlhbi1yZWFsLXNpZ25cIjogJGZhLXZhci1icmF6aWxpYW4tcmVhbC1zaWduLFxuICBcImxhbmRtYXJrLWRvbWVcIjogJGZhLXZhci1sYW5kbWFyay1kb21lLFxuICBcImxhbmRtYXJrLWFsdFwiOiAkZmEtdmFyLWxhbmRtYXJrLWFsdCxcbiAgXCJhcnJvdy11cFwiOiAkZmEtdmFyLWFycm93LXVwLFxuICBcInR2XCI6ICRmYS12YXItdHYsXG4gIFwidGVsZXZpc2lvblwiOiAkZmEtdmFyLXRlbGV2aXNpb24sXG4gIFwidHYtYWx0XCI6ICRmYS12YXItdHYtYWx0LFxuICBcInNocmltcFwiOiAkZmEtdmFyLXNocmltcCxcbiAgXCJsaXN0LWNoZWNrXCI6ICRmYS12YXItbGlzdC1jaGVjayxcbiAgXCJ0YXNrc1wiOiAkZmEtdmFyLXRhc2tzLFxuICBcImp1Zy1kZXRlcmdlbnRcIjogJGZhLXZhci1qdWctZGV0ZXJnZW50LFxuICBcImNpcmNsZS11c2VyXCI6ICRmYS12YXItY2lyY2xlLXVzZXIsXG4gIFwidXNlci1jaXJjbGVcIjogJGZhLXZhci11c2VyLWNpcmNsZSxcbiAgXCJ1c2VyLXNoaWVsZFwiOiAkZmEtdmFyLXVzZXItc2hpZWxkLFxuICBcIndpbmRcIjogJGZhLXZhci13aW5kLFxuICBcImNhci1idXJzdFwiOiAkZmEtdmFyLWNhci1idXJzdCxcbiAgXCJjYXItY3Jhc2hcIjogJGZhLXZhci1jYXItY3Jhc2gsXG4gIFwieVwiOiAkZmEtdmFyLXksXG4gIFwicGVyc29uLXNub3dib2FyZGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1zbm93Ym9hcmRpbmcsXG4gIFwic25vd2JvYXJkaW5nXCI6ICRmYS12YXItc25vd2JvYXJkaW5nLFxuICBcInRydWNrLWZhc3RcIjogJGZhLXZhci10cnVjay1mYXN0LFxuICBcInNoaXBwaW5nLWZhc3RcIjogJGZhLXZhci1zaGlwcGluZy1mYXN0LFxuICBcImZpc2hcIjogJGZhLXZhci1maXNoLFxuICBcInVzZXItZ3JhZHVhdGVcIjogJGZhLXZhci11c2VyLWdyYWR1YXRlLFxuICBcImNpcmNsZS1oYWxmLXN0cm9rZVwiOiAkZmEtdmFyLWNpcmNsZS1oYWxmLXN0cm9rZSxcbiAgXCJhZGp1c3RcIjogJGZhLXZhci1hZGp1c3QsXG4gIFwiY2xhcHBlcmJvYXJkXCI6ICRmYS12YXItY2xhcHBlcmJvYXJkLFxuICBcImNpcmNsZS1yYWRpYXRpb25cIjogJGZhLXZhci1jaXJjbGUtcmFkaWF0aW9uLFxuICBcInJhZGlhdGlvbi1hbHRcIjogJGZhLXZhci1yYWRpYXRpb24tYWx0LFxuICBcImJhc2ViYWxsXCI6ICRmYS12YXItYmFzZWJhbGwsXG4gIFwiYmFzZWJhbGwtYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLWJhbGwsXG4gIFwiamV0LWZpZ2h0ZXItdXBcIjogJGZhLXZhci1qZXQtZmlnaHRlci11cCxcbiAgXCJkaWFncmFtLXByb2plY3RcIjogJGZhLXZhci1kaWFncmFtLXByb2plY3QsXG4gIFwicHJvamVjdC1kaWFncmFtXCI6ICRmYS12YXItcHJvamVjdC1kaWFncmFtLFxuICBcImNvcHlcIjogJGZhLXZhci1jb3B5LFxuICBcInZvbHVtZS14bWFya1wiOiAkZmEtdmFyLXZvbHVtZS14bWFyayxcbiAgXCJ2b2x1bWUtbXV0ZVwiOiAkZmEtdmFyLXZvbHVtZS1tdXRlLFxuICBcInZvbHVtZS10aW1lc1wiOiAkZmEtdmFyLXZvbHVtZS10aW1lcyxcbiAgXCJoYW5kLXNwYXJrbGVzXCI6ICRmYS12YXItaGFuZC1zcGFya2xlcyxcbiAgXCJncmlwXCI6ICRmYS12YXItZ3JpcCxcbiAgXCJncmlwLWhvcml6b250YWxcIjogJGZhLXZhci1ncmlwLWhvcml6b250YWwsXG4gIFwic2hhcmUtZnJvbS1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1mcm9tLXNxdWFyZSxcbiAgXCJzaGFyZS1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1zcXVhcmUsXG4gIFwiY2hpbGQtY29tYmF0YW50XCI6ICRmYS12YXItY2hpbGQtY29tYmF0YW50LFxuICBcImNoaWxkLXJpZmxlXCI6ICRmYS12YXItY2hpbGQtcmlmbGUsXG4gIFwiZ3VuXCI6ICRmYS12YXItZ3VuLFxuICBcInNxdWFyZS1waG9uZVwiOiAkZmEtdmFyLXNxdWFyZS1waG9uZSxcbiAgXCJwaG9uZS1zcXVhcmVcIjogJGZhLXZhci1waG9uZS1zcXVhcmUsXG4gIFwicGx1c1wiOiAkZmEtdmFyLXBsdXMsXG4gIFwiYWRkXCI6ICRmYS12YXItYWRkLFxuICBcImV4cGFuZFwiOiAkZmEtdmFyLWV4cGFuZCxcbiAgXCJjb21wdXRlclwiOiAkZmEtdmFyLWNvbXB1dGVyLFxuICBcInhtYXJrXCI6ICRmYS12YXIteG1hcmssXG4gIFwiY2xvc2VcIjogJGZhLXZhci1jbG9zZSxcbiAgXCJtdWx0aXBseVwiOiAkZmEtdmFyLW11bHRpcGx5LFxuICBcInJlbW92ZVwiOiAkZmEtdmFyLXJlbW92ZSxcbiAgXCJ0aW1lc1wiOiAkZmEtdmFyLXRpbWVzLFxuICBcImFycm93cy11cC1kb3duLWxlZnQtcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0LFxuICBcImFycm93c1wiOiAkZmEtdmFyLWFycm93cyxcbiAgXCJjaGFsa2JvYXJkLXVzZXJcIjogJGZhLXZhci1jaGFsa2JvYXJkLXVzZXIsXG4gIFwiY2hhbGtib2FyZC10ZWFjaGVyXCI6ICRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyLFxuICBcInBlc28tc2lnblwiOiAkZmEtdmFyLXBlc28tc2lnbixcbiAgXCJidWlsZGluZy1zaGllbGRcIjogJGZhLXZhci1idWlsZGluZy1zaGllbGQsXG4gIFwiYmFieVwiOiAkZmEtdmFyLWJhYnksXG4gIFwidXNlcnMtbGluZVwiOiAkZmEtdmFyLXVzZXJzLWxpbmUsXG4gIFwicXVvdGUtbGVmdFwiOiAkZmEtdmFyLXF1b3RlLWxlZnQsXG4gIFwicXVvdGUtbGVmdC1hbHRcIjogJGZhLXZhci1xdW90ZS1sZWZ0LWFsdCxcbiAgXCJ0cmFjdG9yXCI6ICRmYS12YXItdHJhY3RvcixcbiAgXCJ0cmFzaC1hcnJvdy11cFwiOiAkZmEtdmFyLXRyYXNoLWFycm93LXVwLFxuICBcInRyYXNoLXJlc3RvcmVcIjogJGZhLXZhci10cmFzaC1yZXN0b3JlLFxuICBcImFycm93LWRvd24tdXAtbG9ja1wiOiAkZmEtdmFyLWFycm93LWRvd24tdXAtbG9jayxcbiAgXCJsaW5lcy1sZWFuaW5nXCI6ICRmYS12YXItbGluZXMtbGVhbmluZyxcbiAgXCJydWxlci1jb21iaW5lZFwiOiAkZmEtdmFyLXJ1bGVyLWNvbWJpbmVkLFxuICBcImNvcHlyaWdodFwiOiAkZmEtdmFyLWNvcHlyaWdodCxcbiAgXCJlcXVhbHNcIjogJGZhLXZhci1lcXVhbHMsXG4gIFwiYmxlbmRlclwiOiAkZmEtdmFyLWJsZW5kZXIsXG4gIFwidGVldGhcIjogJGZhLXZhci10ZWV0aCxcbiAgXCJzaGVrZWwtc2lnblwiOiAkZmEtdmFyLXNoZWtlbC1zaWduLFxuICBcImlsc1wiOiAkZmEtdmFyLWlscyxcbiAgXCJzaGVrZWxcIjogJGZhLXZhci1zaGVrZWwsXG4gIFwic2hlcWVsXCI6ICRmYS12YXItc2hlcWVsLFxuICBcInNoZXFlbC1zaWduXCI6ICRmYS12YXItc2hlcWVsLXNpZ24sXG4gIFwibWFwXCI6ICRmYS12YXItbWFwLFxuICBcInJvY2tldFwiOiAkZmEtdmFyLXJvY2tldCxcbiAgXCJwaG90by1maWxtXCI6ICRmYS12YXItcGhvdG8tZmlsbSxcbiAgXCJwaG90by12aWRlb1wiOiAkZmEtdmFyLXBob3RvLXZpZGVvLFxuICBcImZvbGRlci1taW51c1wiOiAkZmEtdmFyLWZvbGRlci1taW51cyxcbiAgXCJzdG9yZVwiOiAkZmEtdmFyLXN0b3JlLFxuICBcImFycm93LXRyZW5kLXVwXCI6ICRmYS12YXItYXJyb3ctdHJlbmQtdXAsXG4gIFwicGx1Zy1jaXJjbGUtbWludXNcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1taW51cyxcbiAgXCJzaWduLWhhbmdpbmdcIjogJGZhLXZhci1zaWduLWhhbmdpbmcsXG4gIFwic2lnblwiOiAkZmEtdmFyLXNpZ24sXG4gIFwiYmV6aWVyLWN1cnZlXCI6ICRmYS12YXItYmV6aWVyLWN1cnZlLFxuICBcImJlbGwtc2xhc2hcIjogJGZhLXZhci1iZWxsLXNsYXNoLFxuICBcInRhYmxldFwiOiAkZmEtdmFyLXRhYmxldCxcbiAgXCJ0YWJsZXQtYW5kcm9pZFwiOiAkZmEtdmFyLXRhYmxldC1hbmRyb2lkLFxuICBcInNjaG9vbC1mbGFnXCI6ICRmYS12YXItc2Nob29sLWZsYWcsXG4gIFwiZmlsbFwiOiAkZmEtdmFyLWZpbGwsXG4gIFwiYW5nbGUtdXBcIjogJGZhLXZhci1hbmdsZS11cCxcbiAgXCJkcnVtc3RpY2stYml0ZVwiOiAkZmEtdmFyLWRydW1zdGljay1iaXRlLFxuICBcImhvbGx5LWJlcnJ5XCI6ICRmYS12YXItaG9sbHktYmVycnksXG4gIFwiY2hldnJvbi1sZWZ0XCI6ICRmYS12YXItY2hldnJvbi1sZWZ0LFxuICBcImJhY3RlcmlhXCI6ICRmYS12YXItYmFjdGVyaWEsXG4gIFwiaGFuZC1saXphcmRcIjogJGZhLXZhci1oYW5kLWxpemFyZCxcbiAgXCJub3RkZWZcIjogJGZhLXZhci1ub3RkZWYsXG4gIFwiZGlzZWFzZVwiOiAkZmEtdmFyLWRpc2Vhc2UsXG4gIFwiYnJpZWZjYXNlLW1lZGljYWxcIjogJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCxcbiAgXCJnZW5kZXJsZXNzXCI6ICRmYS12YXItZ2VuZGVybGVzcyxcbiAgXCJjaGV2cm9uLXJpZ2h0XCI6ICRmYS12YXItY2hldnJvbi1yaWdodCxcbiAgXCJyZXR3ZWV0XCI6ICRmYS12YXItcmV0d2VldCxcbiAgXCJjYXItcmVhclwiOiAkZmEtdmFyLWNhci1yZWFyLFxuICBcImNhci1hbHRcIjogJGZhLXZhci1jYXItYWx0LFxuICBcInB1bXAtc29hcFwiOiAkZmEtdmFyLXB1bXAtc29hcCxcbiAgXCJ2aWRlby1zbGFzaFwiOiAkZmEtdmFyLXZpZGVvLXNsYXNoLFxuICBcImJhdHRlcnktcXVhcnRlclwiOiAkZmEtdmFyLWJhdHRlcnktcXVhcnRlcixcbiAgXCJiYXR0ZXJ5LTJcIjogJGZhLXZhci1iYXR0ZXJ5LTIsXG4gIFwicmFkaW9cIjogJGZhLXZhci1yYWRpbyxcbiAgXCJiYWJ5LWNhcnJpYWdlXCI6ICRmYS12YXItYmFieS1jYXJyaWFnZSxcbiAgXCJjYXJyaWFnZS1iYWJ5XCI6ICRmYS12YXItY2FycmlhZ2UtYmFieSxcbiAgXCJ0cmFmZmljLWxpZ2h0XCI6ICRmYS12YXItdHJhZmZpYy1saWdodCxcbiAgXCJ0aGVybW9tZXRlclwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLFxuICBcInZyLWNhcmRib2FyZFwiOiAkZmEtdmFyLXZyLWNhcmRib2FyZCxcbiAgXCJoYW5kLW1pZGRsZS1maW5nZXJcIjogJGZhLXZhci1oYW5kLW1pZGRsZS1maW5nZXIsXG4gIFwicGVyY2VudFwiOiAkZmEtdmFyLXBlcmNlbnQsXG4gIFwicGVyY2VudGFnZVwiOiAkZmEtdmFyLXBlcmNlbnRhZ2UsXG4gIFwidHJ1Y2stbW92aW5nXCI6ICRmYS12YXItdHJ1Y2stbW92aW5nLFxuICBcImdsYXNzLXdhdGVyLWRyb3BsZXRcIjogJGZhLXZhci1nbGFzcy13YXRlci1kcm9wbGV0LFxuICBcImRpc3BsYXlcIjogJGZhLXZhci1kaXNwbGF5LFxuICBcImZhY2Utc21pbGVcIjogJGZhLXZhci1mYWNlLXNtaWxlLFxuICBcInNtaWxlXCI6ICRmYS12YXItc21pbGUsXG4gIFwidGh1bWJ0YWNrXCI6ICRmYS12YXItdGh1bWJ0YWNrLFxuICBcInRodW1iLXRhY2tcIjogJGZhLXZhci10aHVtYi10YWNrLFxuICBcInRyb3BoeVwiOiAkZmEtdmFyLXRyb3BoeSxcbiAgXCJwZXJzb24tcHJheWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1wcmF5aW5nLFxuICBcInByYXlcIjogJGZhLXZhci1wcmF5LFxuICBcImhhbW1lclwiOiAkZmEtdmFyLWhhbW1lcixcbiAgXCJoYW5kLXBlYWNlXCI6ICRmYS12YXItaGFuZC1wZWFjZSxcbiAgXCJyb3RhdGVcIjogJGZhLXZhci1yb3RhdGUsXG4gIFwic3luYy1hbHRcIjogJGZhLXZhci1zeW5jLWFsdCxcbiAgXCJzcGlubmVyXCI6ICRmYS12YXItc3Bpbm5lcixcbiAgXCJyb2JvdFwiOiAkZmEtdmFyLXJvYm90LFxuICBcInBlYWNlXCI6ICRmYS12YXItcGVhY2UsXG4gIFwiZ2VhcnNcIjogJGZhLXZhci1nZWFycyxcbiAgXCJjb2dzXCI6ICRmYS12YXItY29ncyxcbiAgXCJ3YXJlaG91c2VcIjogJGZhLXZhci13YXJlaG91c2UsXG4gIFwiYXJyb3ctdXAtcmlnaHQtZG90c1wiOiAkZmEtdmFyLWFycm93LXVwLXJpZ2h0LWRvdHMsXG4gIFwic3Bsb3RjaFwiOiAkZmEtdmFyLXNwbG90Y2gsXG4gIFwiZmFjZS1ncmluLWhlYXJ0c1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1oZWFydHMsXG4gIFwiZ3Jpbi1oZWFydHNcIjogJGZhLXZhci1ncmluLWhlYXJ0cyxcbiAgXCJkaWNlLWZvdXJcIjogJGZhLXZhci1kaWNlLWZvdXIsXG4gIFwic2ltLWNhcmRcIjogJGZhLXZhci1zaW0tY2FyZCxcbiAgXCJ0cmFuc2dlbmRlclwiOiAkZmEtdmFyLXRyYW5zZ2VuZGVyLFxuICBcInRyYW5zZ2VuZGVyLWFsdFwiOiAkZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdCxcbiAgXCJtZXJjdXJ5XCI6ICRmYS12YXItbWVyY3VyeSxcbiAgXCJhcnJvdy10dXJuLWRvd25cIjogJGZhLXZhci1hcnJvdy10dXJuLWRvd24sXG4gIFwibGV2ZWwtZG93blwiOiAkZmEtdmFyLWxldmVsLWRvd24sXG4gIFwicGVyc29uLWZhbGxpbmctYnVyc3RcIjogJGZhLXZhci1wZXJzb24tZmFsbGluZy1idXJzdCxcbiAgXCJhd2FyZFwiOiAkZmEtdmFyLWF3YXJkLFxuICBcInRpY2tldC1zaW1wbGVcIjogJGZhLXZhci10aWNrZXQtc2ltcGxlLFxuICBcInRpY2tldC1hbHRcIjogJGZhLXZhci10aWNrZXQtYWx0LFxuICBcImJ1aWxkaW5nXCI6ICRmYS12YXItYnVpbGRpbmcsXG4gIFwiYW5nbGVzLWxlZnRcIjogJGZhLXZhci1hbmdsZXMtbGVmdCxcbiAgXCJhbmdsZS1kb3VibGUtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0LFxuICBcInFyY29kZVwiOiAkZmEtdmFyLXFyY29kZSxcbiAgXCJjbG9jay1yb3RhdGUtbGVmdFwiOiAkZmEtdmFyLWNsb2NrLXJvdGF0ZS1sZWZ0LFxuICBcImhpc3RvcnlcIjogJGZhLXZhci1oaXN0b3J5LFxuICBcImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0XCI6ICRmYS12YXItZmFjZS1ncmluLWJlYW0tc3dlYXQsXG4gIFwiZ3Jpbi1iZWFtLXN3ZWF0XCI6ICRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0LFxuICBcImZpbGUtZXhwb3J0XCI6ICRmYS12YXItZmlsZS1leHBvcnQsXG4gIFwiYXJyb3ctcmlnaHQtZnJvbS1maWxlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1maWxlLFxuICBcInNoaWVsZFwiOiAkZmEtdmFyLXNoaWVsZCxcbiAgXCJzaGllbGQtYmxhbmtcIjogJGZhLXZhci1zaGllbGQtYmxhbmssXG4gIFwiYXJyb3ctdXAtc2hvcnQtd2lkZVwiOiAkZmEtdmFyLWFycm93LXVwLXNob3J0LXdpZGUsXG4gIFwic29ydC1hbW91bnQtdXAtYWx0XCI6ICRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0LFxuICBcImhvdXNlLW1lZGljYWxcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLFxuICBcImdvbGYtYmFsbC10ZWVcIjogJGZhLXZhci1nb2xmLWJhbGwtdGVlLFxuICBcImdvbGYtYmFsbFwiOiAkZmEtdmFyLWdvbGYtYmFsbCxcbiAgXCJjaXJjbGUtY2hldnJvbi1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tbGVmdCxcbiAgXCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdCxcbiAgXCJob3VzZS1jaGltbmV5LXdpbmRvd1wiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktd2luZG93LFxuICBcInBlbi1uaWJcIjogJGZhLXZhci1wZW4tbmliLFxuICBcInRlbnQtYXJyb3ctdHVybi1sZWZ0XCI6ICRmYS12YXItdGVudC1hcnJvdy10dXJuLWxlZnQsXG4gIFwidGVudHNcIjogJGZhLXZhci10ZW50cyxcbiAgXCJ3YW5kLW1hZ2ljXCI6ICRmYS12YXItd2FuZC1tYWdpYyxcbiAgXCJtYWdpY1wiOiAkZmEtdmFyLW1hZ2ljLFxuICBcImRvZ1wiOiAkZmEtdmFyLWRvZyxcbiAgXCJjYXJyb3RcIjogJGZhLXZhci1jYXJyb3QsXG4gIFwibW9vblwiOiAkZmEtdmFyLW1vb24sXG4gIFwid2luZS1nbGFzcy1lbXB0eVwiOiAkZmEtdmFyLXdpbmUtZ2xhc3MtZW1wdHksXG4gIFwid2luZS1nbGFzcy1hbHRcIjogJGZhLXZhci13aW5lLWdsYXNzLWFsdCxcbiAgXCJjaGVlc2VcIjogJGZhLXZhci1jaGVlc2UsXG4gIFwieWluLXlhbmdcIjogJGZhLXZhci15aW4teWFuZyxcbiAgXCJtdXNpY1wiOiAkZmEtdmFyLW11c2ljLFxuICBcImNvZGUtY29tbWl0XCI6ICRmYS12YXItY29kZS1jb21taXQsXG4gIFwidGVtcGVyYXR1cmUtbG93XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtbG93LFxuICBcInBlcnNvbi1iaWtpbmdcIjogJGZhLXZhci1wZXJzb24tYmlraW5nLFxuICBcImJpa2luZ1wiOiAkZmEtdmFyLWJpa2luZyxcbiAgXCJicm9vbVwiOiAkZmEtdmFyLWJyb29tLFxuICBcInNoaWVsZC1oZWFydFwiOiAkZmEtdmFyLXNoaWVsZC1oZWFydCxcbiAgXCJnb3B1cmFtXCI6ICRmYS12YXItZ29wdXJhbSxcbiAgXCJlYXJ0aC1vY2VhbmlhXCI6ICRmYS12YXItZWFydGgtb2NlYW5pYSxcbiAgXCJnbG9iZS1vY2VhbmlhXCI6ICRmYS12YXItZ2xvYmUtb2NlYW5pYSxcbiAgXCJzcXVhcmUteG1hcmtcIjogJGZhLXZhci1zcXVhcmUteG1hcmssXG4gIFwidGltZXMtc3F1YXJlXCI6ICRmYS12YXItdGltZXMtc3F1YXJlLFxuICBcInhtYXJrLXNxdWFyZVwiOiAkZmEtdmFyLXhtYXJrLXNxdWFyZSxcbiAgXCJoYXNodGFnXCI6ICRmYS12YXItaGFzaHRhZyxcbiAgXCJ1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyXCI6ICRmYS12YXItdXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcixcbiAgXCJleHBhbmQtYWx0XCI6ICRmYS12YXItZXhwYW5kLWFsdCxcbiAgXCJvaWwtY2FuXCI6ICRmYS12YXItb2lsLWNhbixcbiAgXCJ0XCI6ICRmYS12YXItdCxcbiAgXCJoaXBwb1wiOiAkZmEtdmFyLWhpcHBvLFxuICBcImNoYXJ0LWNvbHVtblwiOiAkZmEtdmFyLWNoYXJ0LWNvbHVtbixcbiAgXCJpbmZpbml0eVwiOiAkZmEtdmFyLWluZmluaXR5LFxuICBcInZpYWwtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItdmlhbC1jaXJjbGUtY2hlY2ssXG4gIFwicGVyc29uLWFycm93LWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmUsXG4gIFwidm9pY2VtYWlsXCI6ICRmYS12YXItdm9pY2VtYWlsLFxuICBcImZhblwiOiAkZmEtdmFyLWZhbixcbiAgXCJwZXJzb24td2Fsa2luZy1sdWdnYWdlXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctbHVnZ2FnZSxcbiAgXCJ1cC1kb3duXCI6ICRmYS12YXItdXAtZG93bixcbiAgXCJhcnJvd3MtYWx0LXZcIjogJGZhLXZhci1hcnJvd3MtYWx0LXYsXG4gIFwiY2xvdWQtbW9vbi1yYWluXCI6ICRmYS12YXItY2xvdWQtbW9vbi1yYWluLFxuICBcImNhbGVuZGFyXCI6ICRmYS12YXItY2FsZW5kYXIsXG4gIFwidHJhaWxlclwiOiAkZmEtdmFyLXRyYWlsZXIsXG4gIFwiYmFoYWlcIjogJGZhLXZhci1iYWhhaSxcbiAgXCJoYXlrYWxcIjogJGZhLXZhci1oYXlrYWwsXG4gIFwic2QtY2FyZFwiOiAkZmEtdmFyLXNkLWNhcmQsXG4gIFwiZHJhZ29uXCI6ICRmYS12YXItZHJhZ29uLFxuICBcInNob2UtcHJpbnRzXCI6ICRmYS12YXItc2hvZS1wcmludHMsXG4gIFwiY2lyY2xlLXBsdXNcIjogJGZhLXZhci1jaXJjbGUtcGx1cyxcbiAgXCJwbHVzLWNpcmNsZVwiOiAkZmEtdmFyLXBsdXMtY2lyY2xlLFxuICBcImZhY2UtZ3Jpbi10b25ndWUtd2lua1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtd2luayxcbiAgXCJncmluLXRvbmd1ZS13aW5rXCI6ICRmYS12YXItZ3Jpbi10b25ndWUtd2luayxcbiAgXCJoYW5kLWhvbGRpbmdcIjogJGZhLXZhci1oYW5kLWhvbGRpbmcsXG4gIFwicGx1Zy1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1wbHVnLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJsaW5rLXNsYXNoXCI6ICRmYS12YXItbGluay1zbGFzaCxcbiAgXCJjaGFpbi1icm9rZW5cIjogJGZhLXZhci1jaGFpbi1icm9rZW4sXG4gIFwiY2hhaW4tc2xhc2hcIjogJGZhLXZhci1jaGFpbi1zbGFzaCxcbiAgXCJ1bmxpbmtcIjogJGZhLXZhci11bmxpbmssXG4gIFwiY2xvbmVcIjogJGZhLXZhci1jbG9uZSxcbiAgXCJwZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnQsXG4gIFwiYXJyb3ctdXAtei1hXCI6ICRmYS12YXItYXJyb3ctdXAtei1hLFxuICBcInNvcnQtYWxwaGEtdXAtYWx0XCI6ICRmYS12YXItc29ydC1hbHBoYS11cC1hbHQsXG4gIFwiZmlyZS1mbGFtZS1jdXJ2ZWRcIjogJGZhLXZhci1maXJlLWZsYW1lLWN1cnZlZCxcbiAgXCJmaXJlLWFsdFwiOiAkZmEtdmFyLWZpcmUtYWx0LFxuICBcInRvcm5hZG9cIjogJGZhLXZhci10b3JuYWRvLFxuICBcImZpbGUtY2lyY2xlLXBsdXNcIjogJGZhLXZhci1maWxlLWNpcmNsZS1wbHVzLFxuICBcImJvb2stcXVyYW5cIjogJGZhLXZhci1ib29rLXF1cmFuLFxuICBcInF1cmFuXCI6ICRmYS12YXItcXVyYW4sXG4gIFwiYW5jaG9yXCI6ICRmYS12YXItYW5jaG9yLFxuICBcImJvcmRlci1hbGxcIjogJGZhLXZhci1ib3JkZXItYWxsLFxuICBcImZhY2UtYW5ncnlcIjogJGZhLXZhci1mYWNlLWFuZ3J5LFxuICBcImFuZ3J5XCI6ICRmYS12YXItYW5ncnksXG4gIFwiY29va2llLWJpdGVcIjogJGZhLXZhci1jb29raWUtYml0ZSxcbiAgXCJhcnJvdy10cmVuZC1kb3duXCI6ICRmYS12YXItYXJyb3ctdHJlbmQtZG93bixcbiAgXCJyc3NcIjogJGZhLXZhci1yc3MsXG4gIFwiZmVlZFwiOiAkZmEtdmFyLWZlZWQsXG4gIFwiZHJhdy1wb2x5Z29uXCI6ICRmYS12YXItZHJhdy1wb2x5Z29uLFxuICBcInNjYWxlLWJhbGFuY2VkXCI6ICRmYS12YXItc2NhbGUtYmFsYW5jZWQsXG4gIFwiYmFsYW5jZS1zY2FsZVwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUsXG4gIFwiZ2F1Z2Utc2ltcGxlLWhpZ2hcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUtaGlnaCxcbiAgXCJ0YWNob21ldGVyXCI6ICRmYS12YXItdGFjaG9tZXRlcixcbiAgXCJ0YWNob21ldGVyLWZhc3RcIjogJGZhLXZhci10YWNob21ldGVyLWZhc3QsXG4gIFwic2hvd2VyXCI6ICRmYS12YXItc2hvd2VyLFxuICBcImRlc2t0b3BcIjogJGZhLXZhci1kZXNrdG9wLFxuICBcImRlc2t0b3AtYWx0XCI6ICRmYS12YXItZGVza3RvcC1hbHQsXG4gIFwibVwiOiAkZmEtdmFyLW0sXG4gIFwidGFibGUtbGlzdFwiOiAkZmEtdmFyLXRhYmxlLWxpc3QsXG4gIFwidGgtbGlzdFwiOiAkZmEtdmFyLXRoLWxpc3QsXG4gIFwiY29tbWVudC1zbXNcIjogJGZhLXZhci1jb21tZW50LXNtcyxcbiAgXCJzbXNcIjogJGZhLXZhci1zbXMsXG4gIFwiYm9va1wiOiAkZmEtdmFyLWJvb2ssXG4gIFwidXNlci1wbHVzXCI6ICRmYS12YXItdXNlci1wbHVzLFxuICBcImNoZWNrXCI6ICRmYS12YXItY2hlY2ssXG4gIFwiYmF0dGVyeS10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnMsXG4gIFwiYmF0dGVyeS00XCI6ICRmYS12YXItYmF0dGVyeS00LFxuICBcImhvdXNlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS1jaGVjayxcbiAgXCJhbmdsZS1sZWZ0XCI6ICRmYS12YXItYW5nbGUtbGVmdCxcbiAgXCJkaWFncmFtLXN1Y2Nlc3NvclwiOiAkZmEtdmFyLWRpYWdyYW0tc3VjY2Vzc29yLFxuICBcInRydWNrLWFycm93LXJpZ2h0XCI6ICRmYS12YXItdHJ1Y2stYXJyb3ctcmlnaHQsXG4gIFwiYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0XCI6ICRmYS12YXItYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0LFxuICBcImhhbmQtZmlzdFwiOiAkZmEtdmFyLWhhbmQtZmlzdCxcbiAgXCJmaXN0LXJhaXNlZFwiOiAkZmEtdmFyLWZpc3QtcmFpc2VkLFxuICBcImNsb3VkLW1vb25cIjogJGZhLXZhci1jbG91ZC1tb29uLFxuICBcImJyaWVmY2FzZVwiOiAkZmEtdmFyLWJyaWVmY2FzZSxcbiAgXCJwZXJzb24tZmFsbGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1mYWxsaW5nLFxuICBcImltYWdlLXBvcnRyYWl0XCI6ICRmYS12YXItaW1hZ2UtcG9ydHJhaXQsXG4gIFwicG9ydHJhaXRcIjogJGZhLXZhci1wb3J0cmFpdCxcbiAgXCJ1c2VyLXRhZ1wiOiAkZmEtdmFyLXVzZXItdGFnLFxuICBcInJ1Z1wiOiAkZmEtdmFyLXJ1ZyxcbiAgXCJlYXJ0aC1ldXJvcGVcIjogJGZhLXZhci1lYXJ0aC1ldXJvcGUsXG4gIFwiZ2xvYmUtZXVyb3BlXCI6ICRmYS12YXItZ2xvYmUtZXVyb3BlLFxuICBcImNhcnQtZmxhdGJlZC1zdWl0Y2FzZVwiOiAkZmEtdmFyLWNhcnQtZmxhdGJlZC1zdWl0Y2FzZSxcbiAgXCJsdWdnYWdlLWNhcnRcIjogJGZhLXZhci1sdWdnYWdlLWNhcnQsXG4gIFwicmVjdGFuZ2xlLXhtYXJrXCI6ICRmYS12YXItcmVjdGFuZ2xlLXhtYXJrLFxuICBcInJlY3RhbmdsZS10aW1lc1wiOiAkZmEtdmFyLXJlY3RhbmdsZS10aW1lcyxcbiAgXCJ0aW1lcy1yZWN0YW5nbGVcIjogJGZhLXZhci10aW1lcy1yZWN0YW5nbGUsXG4gIFwid2luZG93LWNsb3NlXCI6ICRmYS12YXItd2luZG93LWNsb3NlLFxuICBcImJhaHQtc2lnblwiOiAkZmEtdmFyLWJhaHQtc2lnbixcbiAgXCJib29rLW9wZW5cIjogJGZhLXZhci1ib29rLW9wZW4sXG4gIFwiYm9vay1qb3VybmFsLXdoaWxsc1wiOiAkZmEtdmFyLWJvb2stam91cm5hbC13aGlsbHMsXG4gIFwiam91cm5hbC13aGlsbHNcIjogJGZhLXZhci1qb3VybmFsLXdoaWxscyxcbiAgXCJoYW5kY3VmZnNcIjogJGZhLXZhci1oYW5kY3VmZnMsXG4gIFwidHJpYW5nbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci10cmlhbmdsZS1leGNsYW1hdGlvbixcbiAgXCJleGNsYW1hdGlvbi10cmlhbmdsZVwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlLFxuICBcIndhcm5pbmdcIjogJGZhLXZhci13YXJuaW5nLFxuICBcImRhdGFiYXNlXCI6ICRmYS12YXItZGF0YWJhc2UsXG4gIFwic2hhcmVcIjogJGZhLXZhci1zaGFyZSxcbiAgXCJtYWlsLWZvcndhcmRcIjogJGZhLXZhci1tYWlsLWZvcndhcmQsXG4gIFwiYm90dGxlLWRyb3BsZXRcIjogJGZhLXZhci1ib3R0bGUtZHJvcGxldCxcbiAgXCJtYXNrLWZhY2VcIjogJGZhLXZhci1tYXNrLWZhY2UsXG4gIFwiaGlsbC1yb2Nrc2xpZGVcIjogJGZhLXZhci1oaWxsLXJvY2tzbGlkZSxcbiAgXCJyaWdodC1sZWZ0XCI6ICRmYS12YXItcmlnaHQtbGVmdCxcbiAgXCJleGNoYW5nZS1hbHRcIjogJGZhLXZhci1leGNoYW5nZS1hbHQsXG4gIFwicGFwZXItcGxhbmVcIjogJGZhLXZhci1wYXBlci1wbGFuZSxcbiAgXCJyb2FkLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImR1bmdlb25cIjogJGZhLXZhci1kdW5nZW9uLFxuICBcImFsaWduLXJpZ2h0XCI6ICRmYS12YXItYWxpZ24tcmlnaHQsXG4gIFwibW9uZXktYmlsbC0xLXdhdmVcIjogJGZhLXZhci1tb25leS1iaWxsLTEtd2F2ZSxcbiAgXCJtb25leS1iaWxsLXdhdmUtYWx0XCI6ICRmYS12YXItbW9uZXktYmlsbC13YXZlLWFsdCxcbiAgXCJsaWZlLXJpbmdcIjogJGZhLXZhci1saWZlLXJpbmcsXG4gIFwiaGFuZHNcIjogJGZhLXZhci1oYW5kcyxcbiAgXCJzaWduLWxhbmd1YWdlXCI6ICRmYS12YXItc2lnbi1sYW5ndWFnZSxcbiAgXCJzaWduaW5nXCI6ICRmYS12YXItc2lnbmluZyxcbiAgXCJjYWxlbmRhci1kYXlcIjogJGZhLXZhci1jYWxlbmRhci1kYXksXG4gIFwid2F0ZXItbGFkZGVyXCI6ICRmYS12YXItd2F0ZXItbGFkZGVyLFxuICBcImxhZGRlci13YXRlclwiOiAkZmEtdmFyLWxhZGRlci13YXRlcixcbiAgXCJzd2ltbWluZy1wb29sXCI6ICRmYS12YXItc3dpbW1pbmctcG9vbCxcbiAgXCJhcnJvd3MtdXAtZG93blwiOiAkZmEtdmFyLWFycm93cy11cC1kb3duLFxuICBcImFycm93cy12XCI6ICRmYS12YXItYXJyb3dzLXYsXG4gIFwiZmFjZS1ncmltYWNlXCI6ICRmYS12YXItZmFjZS1ncmltYWNlLFxuICBcImdyaW1hY2VcIjogJGZhLXZhci1ncmltYWNlLFxuICBcIndoZWVsY2hhaXItbW92ZVwiOiAkZmEtdmFyLXdoZWVsY2hhaXItbW92ZSxcbiAgXCJ3aGVlbGNoYWlyLWFsdFwiOiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0LFxuICBcInR1cm4tZG93blwiOiAkZmEtdmFyLXR1cm4tZG93bixcbiAgXCJsZXZlbC1kb3duLWFsdFwiOiAkZmEtdmFyLWxldmVsLWRvd24tYWx0LFxuICBcInBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQsXG4gIFwic3F1YXJlLWVudmVsb3BlXCI6ICRmYS12YXItc3F1YXJlLWVudmVsb3BlLFxuICBcImVudmVsb3BlLXNxdWFyZVwiOiAkZmEtdmFyLWVudmVsb3BlLXNxdWFyZSxcbiAgXCJkaWNlXCI6ICRmYS12YXItZGljZSxcbiAgXCJib3dsaW5nLWJhbGxcIjogJGZhLXZhci1ib3dsaW5nLWJhbGwsXG4gIFwiYnJhaW5cIjogJGZhLXZhci1icmFpbixcbiAgXCJiYW5kYWdlXCI6ICRmYS12YXItYmFuZGFnZSxcbiAgXCJiYW5kLWFpZFwiOiAkZmEtdmFyLWJhbmQtYWlkLFxuICBcImNhbGVuZGFyLW1pbnVzXCI6ICRmYS12YXItY2FsZW5kYXItbWludXMsXG4gIFwiY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItY2lyY2xlLXhtYXJrLFxuICBcInRpbWVzLWNpcmNsZVwiOiAkZmEtdmFyLXRpbWVzLWNpcmNsZSxcbiAgXCJ4bWFyay1jaXJjbGVcIjogJGZhLXZhci14bWFyay1jaXJjbGUsXG4gIFwiZ2lmdHNcIjogJGZhLXZhci1naWZ0cyxcbiAgXCJob3RlbFwiOiAkZmEtdmFyLWhvdGVsLFxuICBcImVhcnRoLWFzaWFcIjogJGZhLXZhci1lYXJ0aC1hc2lhLFxuICBcImdsb2JlLWFzaWFcIjogJGZhLXZhci1nbG9iZS1hc2lhLFxuICBcImlkLWNhcmQtY2xpcFwiOiAkZmEtdmFyLWlkLWNhcmQtY2xpcCxcbiAgXCJpZC1jYXJkLWFsdFwiOiAkZmEtdmFyLWlkLWNhcmQtYWx0LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtcGx1c1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtcGx1cyxcbiAgXCJzZWFyY2gtcGx1c1wiOiAkZmEtdmFyLXNlYXJjaC1wbHVzLFxuICBcInRodW1icy11cFwiOiAkZmEtdmFyLXRodW1icy11cCxcbiAgXCJ1c2VyLWNsb2NrXCI6ICRmYS12YXItdXNlci1jbG9jayxcbiAgXCJoYW5kLWRvdHNcIjogJGZhLXZhci1oYW5kLWRvdHMsXG4gIFwiYWxsZXJnaWVzXCI6ICRmYS12YXItYWxsZXJnaWVzLFxuICBcImZpbGUtaW52b2ljZVwiOiAkZmEtdmFyLWZpbGUtaW52b2ljZSxcbiAgXCJ3aW5kb3ctbWluaW1pemVcIjogJGZhLXZhci13aW5kb3ctbWluaW1pemUsXG4gIFwibXVnLXNhdWNlclwiOiAkZmEtdmFyLW11Zy1zYXVjZXIsXG4gIFwiY29mZmVlXCI6ICRmYS12YXItY29mZmVlLFxuICBcImJydXNoXCI6ICRmYS12YXItYnJ1c2gsXG4gIFwibWFza1wiOiAkZmEtdmFyLW1hc2ssXG4gIFwibWFnbmlmeWluZy1nbGFzcy1taW51c1wiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbWludXMsXG4gIFwic2VhcmNoLW1pbnVzXCI6ICRmYS12YXItc2VhcmNoLW1pbnVzLFxuICBcInJ1bGVyLXZlcnRpY2FsXCI6ICRmYS12YXItcnVsZXItdmVydGljYWwsXG4gIFwidXNlci1sYXJnZVwiOiAkZmEtdmFyLXVzZXItbGFyZ2UsXG4gIFwidXNlci1hbHRcIjogJGZhLXZhci11c2VyLWFsdCxcbiAgXCJ0cmFpbi10cmFtXCI6ICRmYS12YXItdHJhaW4tdHJhbSxcbiAgXCJ1c2VyLW51cnNlXCI6ICRmYS12YXItdXNlci1udXJzZSxcbiAgXCJzeXJpbmdlXCI6ICRmYS12YXItc3lyaW5nZSxcbiAgXCJjbG91ZC1zdW5cIjogJGZhLXZhci1jbG91ZC1zdW4sXG4gIFwic3RvcHdhdGNoLTIwXCI6ICRmYS12YXItc3RvcHdhdGNoLTIwLFxuICBcInNxdWFyZS1mdWxsXCI6ICRmYS12YXItc3F1YXJlLWZ1bGwsXG4gIFwibWFnbmV0XCI6ICRmYS12YXItbWFnbmV0LFxuICBcImphclwiOiAkZmEtdmFyLWphcixcbiAgXCJub3RlLXN0aWNreVwiOiAkZmEtdmFyLW5vdGUtc3RpY2t5LFxuICBcInN0aWNreS1ub3RlXCI6ICRmYS12YXItc3RpY2t5LW5vdGUsXG4gIFwiYnVnLXNsYXNoXCI6ICRmYS12YXItYnVnLXNsYXNoLFxuICBcImFycm93LXVwLWZyb20td2F0ZXItcHVtcFwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20td2F0ZXItcHVtcCxcbiAgXCJib25lXCI6ICRmYS12YXItYm9uZSxcbiAgXCJ1c2VyLWluanVyZWRcIjogJGZhLXZhci11c2VyLWluanVyZWQsXG4gIFwiZmFjZS1zYWQtdGVhclwiOiAkZmEtdmFyLWZhY2Utc2FkLXRlYXIsXG4gIFwic2FkLXRlYXJcIjogJGZhLXZhci1zYWQtdGVhcixcbiAgXCJwbGFuZVwiOiAkZmEtdmFyLXBsYW5lLFxuICBcInRlbnQtYXJyb3dzLWRvd25cIjogJGZhLXZhci10ZW50LWFycm93cy1kb3duLFxuICBcImV4Y2xhbWF0aW9uXCI6ICRmYS12YXItZXhjbGFtYXRpb24sXG4gIFwiYXJyb3dzLXNwaW5cIjogJGZhLXZhci1hcnJvd3Mtc3BpbixcbiAgXCJwcmludFwiOiAkZmEtdmFyLXByaW50LFxuICBcInR1cmtpc2gtbGlyYS1zaWduXCI6ICRmYS12YXItdHVya2lzaC1saXJhLXNpZ24sXG4gIFwidHJ5XCI6ICRmYS12YXItdHJ5LFxuICBcInR1cmtpc2gtbGlyYVwiOiAkZmEtdmFyLXR1cmtpc2gtbGlyYSxcbiAgXCJkb2xsYXItc2lnblwiOiAkZmEtdmFyLWRvbGxhci1zaWduLFxuICBcImRvbGxhclwiOiAkZmEtdmFyLWRvbGxhcixcbiAgXCJ1c2RcIjogJGZhLXZhci11c2QsXG4gIFwieFwiOiAkZmEtdmFyLXgsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1kb2xsYXJcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWRvbGxhcixcbiAgXCJzZWFyY2gtZG9sbGFyXCI6ICRmYS12YXItc2VhcmNoLWRvbGxhcixcbiAgXCJ1c2Vycy1nZWFyXCI6ICRmYS12YXItdXNlcnMtZ2VhcixcbiAgXCJ1c2Vycy1jb2dcIjogJGZhLXZhci11c2Vycy1jb2csXG4gIFwicGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nLFxuICBcImJ1aWxkaW5nLWNvbHVtbnNcIjogJGZhLXZhci1idWlsZGluZy1jb2x1bW5zLFxuICBcImJhbmtcIjogJGZhLXZhci1iYW5rLFxuICBcImluc3RpdHV0aW9uXCI6ICRmYS12YXItaW5zdGl0dXRpb24sXG4gIFwibXVzZXVtXCI6ICRmYS12YXItbXVzZXVtLFxuICBcInVuaXZlcnNpdHlcIjogJGZhLXZhci11bml2ZXJzaXR5LFxuICBcInVtYnJlbGxhXCI6ICRmYS12YXItdW1icmVsbGEsXG4gIFwidHJvd2VsXCI6ICRmYS12YXItdHJvd2VsLFxuICBcImRcIjogJGZhLXZhci1kLFxuICBcInN0YXBsZXJcIjogJGZhLXZhci1zdGFwbGVyLFxuICBcIm1hc2tzLXRoZWF0ZXJcIjogJGZhLXZhci1tYXNrcy10aGVhdGVyLFxuICBcInRoZWF0ZXItbWFza3NcIjogJGZhLXZhci10aGVhdGVyLW1hc2tzLFxuICBcImtpcC1zaWduXCI6ICRmYS12YXIta2lwLXNpZ24sXG4gIFwiaGFuZC1wb2ludC1sZWZ0XCI6ICRmYS12YXItaGFuZC1wb2ludC1sZWZ0LFxuICBcImhhbmRzaGFrZS1zaW1wbGVcIjogJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLFxuICBcImhhbmRzaGFrZS1hbHRcIjogJGZhLXZhci1oYW5kc2hha2UtYWx0LFxuICBcImpldC1maWdodGVyXCI6ICRmYS12YXItamV0LWZpZ2h0ZXIsXG4gIFwiZmlnaHRlci1qZXRcIjogJGZhLXZhci1maWdodGVyLWpldCxcbiAgXCJzcXVhcmUtc2hhcmUtbm9kZXNcIjogJGZhLXZhci1zcXVhcmUtc2hhcmUtbm9kZXMsXG4gIFwic2hhcmUtYWx0LXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmUsXG4gIFwiYmFyY29kZVwiOiAkZmEtdmFyLWJhcmNvZGUsXG4gIFwicGx1cy1taW51c1wiOiAkZmEtdmFyLXBsdXMtbWludXMsXG4gIFwidmlkZW9cIjogJGZhLXZhci12aWRlbyxcbiAgXCJ2aWRlby1jYW1lcmFcIjogJGZhLXZhci12aWRlby1jYW1lcmEsXG4gIFwiZ3JhZHVhdGlvbi1jYXBcIjogJGZhLXZhci1ncmFkdWF0aW9uLWNhcCxcbiAgXCJtb3J0YXItYm9hcmRcIjogJGZhLXZhci1tb3J0YXItYm9hcmQsXG4gIFwiaGFuZC1ob2xkaW5nLW1lZGljYWxcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCxcbiAgXCJwZXJzb24tY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1jaGVjayxcbiAgXCJ0dXJuLXVwXCI6ICRmYS12YXItdHVybi11cCxcbiAgXCJsZXZlbC11cC1hbHRcIjogJGZhLXZhci1sZXZlbC11cC1hbHQsXG4pO1xuXG4kZmEtYnJhbmQtaWNvbnM6IChcbiAgXCJtb25lcm9cIjogJGZhLXZhci1tb25lcm8sXG4gIFwiaG9vbGlcIjogJGZhLXZhci1ob29saSxcbiAgXCJ5ZWxwXCI6ICRmYS12YXIteWVscCxcbiAgXCJjYy12aXNhXCI6ICRmYS12YXItY2MtdmlzYSxcbiAgXCJsYXN0Zm1cIjogJGZhLXZhci1sYXN0Zm0sXG4gIFwic2hvcHdhcmVcIjogJGZhLXZhci1zaG9wd2FyZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYyxcbiAgXCJhd3NcIjogJGZhLXZhci1hd3MsXG4gIFwicmVkaGF0XCI6ICRmYS12YXItcmVkaGF0LFxuICBcInlvYXN0XCI6ICRmYS12YXIteW9hc3QsXG4gIFwiY2xvdWRmbGFyZVwiOiAkZmEtdmFyLWNsb3VkZmxhcmUsXG4gIFwidXBzXCI6ICRmYS12YXItdXBzLFxuICBcInBpeGl2XCI6ICRmYS12YXItcGl4aXYsXG4gIFwid3BleHBsb3JlclwiOiAkZmEtdmFyLXdwZXhwbG9yZXIsXG4gIFwiZHlhbG9nXCI6ICRmYS12YXItZHlhbG9nLFxuICBcImJpdHlcIjogJGZhLXZhci1iaXR5LFxuICBcInN0YWNrcGF0aFwiOiAkZmEtdmFyLXN0YWNrcGF0aCxcbiAgXCJidXlzZWxsYWRzXCI6ICRmYS12YXItYnV5c2VsbGFkcyxcbiAgXCJmaXJzdC1vcmRlclwiOiAkZmEtdmFyLWZpcnN0LW9yZGVyLFxuICBcIm1vZHhcIjogJGZhLXZhci1tb2R4LFxuICBcImd1aWxkZWRcIjogJGZhLXZhci1ndWlsZGVkLFxuICBcInZudlwiOiAkZmEtdmFyLXZudixcbiAgXCJzcXVhcmUtanNcIjogJGZhLXZhci1zcXVhcmUtanMsXG4gIFwianMtc3F1YXJlXCI6ICRmYS12YXItanMtc3F1YXJlLFxuICBcIm1pY3Jvc29mdFwiOiAkZmEtdmFyLW1pY3Jvc29mdCxcbiAgXCJxcVwiOiAkZmEtdmFyLXFxLFxuICBcIm9yY2lkXCI6ICRmYS12YXItb3JjaWQsXG4gIFwiamF2YVwiOiAkZmEtdmFyLWphdmEsXG4gIFwiaW52aXNpb25cIjogJGZhLXZhci1pbnZpc2lvbixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXBkLWFsdFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0LFxuICBcImNlbnRlcmNvZGVcIjogJGZhLXZhci1jZW50ZXJjb2RlLFxuICBcImdsaWRlLWdcIjogJGZhLXZhci1nbGlkZS1nLFxuICBcImRydXBhbFwiOiAkZmEtdmFyLWRydXBhbCxcbiAgXCJoaXJlLWEtaGVscGVyXCI6ICRmYS12YXItaGlyZS1hLWhlbHBlcixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLWJ5XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieSxcbiAgXCJ1bml0eVwiOiAkZmEtdmFyLXVuaXR5LFxuICBcIndobWNzXCI6ICRmYS12YXItd2htY3MsXG4gIFwicm9ja2V0Y2hhdFwiOiAkZmEtdmFyLXJvY2tldGNoYXQsXG4gIFwidmtcIjogJGZhLXZhci12ayxcbiAgXCJ1bnRhcHBkXCI6ICRmYS12YXItdW50YXBwZCxcbiAgXCJtYWlsY2hpbXBcIjogJGZhLXZhci1tYWlsY2hpbXAsXG4gIFwiY3NzMy1hbHRcIjogJGZhLXZhci1jc3MzLWFsdCxcbiAgXCJzcXVhcmUtcmVkZGl0XCI6ICRmYS12YXItc3F1YXJlLXJlZGRpdCxcbiAgXCJyZWRkaXQtc3F1YXJlXCI6ICRmYS12YXItcmVkZGl0LXNxdWFyZSxcbiAgXCJ2aW1lby12XCI6ICRmYS12YXItdmltZW8tdixcbiAgXCJjb250YW9cIjogJGZhLXZhci1jb250YW8sXG4gIFwic3F1YXJlLWZvbnQtYXdlc29tZVwiOiAkZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUsXG4gIFwiZGVza3Byb1wiOiAkZmEtdmFyLWRlc2twcm8sXG4gIFwiYnJhdmVcIjogJGZhLXZhci1icmF2ZSxcbiAgXCJzaXN0cml4XCI6ICRmYS12YXItc2lzdHJpeCxcbiAgXCJzcXVhcmUtaW5zdGFncmFtXCI6ICRmYS12YXItc3F1YXJlLWluc3RhZ3JhbSxcbiAgXCJpbnN0YWdyYW0tc3F1YXJlXCI6ICRmYS12YXItaW5zdGFncmFtLXNxdWFyZSxcbiAgXCJiYXR0bGUtbmV0XCI6ICRmYS12YXItYmF0dGxlLW5ldCxcbiAgXCJ0aGUtcmVkLXlldGlcIjogJGZhLXZhci10aGUtcmVkLXlldGksXG4gIFwic3F1YXJlLWhhY2tlci1uZXdzXCI6ICRmYS12YXItc3F1YXJlLWhhY2tlci1uZXdzLFxuICBcImhhY2tlci1uZXdzLXNxdWFyZVwiOiAkZmEtdmFyLWhhY2tlci1uZXdzLXNxdWFyZSxcbiAgXCJlZGdlXCI6ICRmYS12YXItZWRnZSxcbiAgXCJ0aHJlYWRzXCI6ICRmYS12YXItdGhyZWFkcyxcbiAgXCJuYXBzdGVyXCI6ICRmYS12YXItbmFwc3RlcixcbiAgXCJzcXVhcmUtc25hcGNoYXRcIjogJGZhLXZhci1zcXVhcmUtc25hcGNoYXQsXG4gIFwic25hcGNoYXQtc3F1YXJlXCI6ICRmYS12YXItc25hcGNoYXQtc3F1YXJlLFxuICBcImdvb2dsZS1wbHVzLWdcIjogJGZhLXZhci1nb29nbGUtcGx1cy1nLFxuICBcImFydHN0YXRpb25cIjogJGZhLXZhci1hcnRzdGF0aW9uLFxuICBcIm1hcmtkb3duXCI6ICRmYS12YXItbWFya2Rvd24sXG4gIFwic291cmNldHJlZVwiOiAkZmEtdmFyLXNvdXJjZXRyZWUsXG4gIFwiZ29vZ2xlLXBsdXNcIjogJGZhLXZhci1nb29nbGUtcGx1cyxcbiAgXCJkaWFzcG9yYVwiOiAkZmEtdmFyLWRpYXNwb3JhLFxuICBcImZvdXJzcXVhcmVcIjogJGZhLXZhci1mb3Vyc3F1YXJlLFxuICBcInN0YWNrLW92ZXJmbG93XCI6ICRmYS12YXItc3RhY2stb3ZlcmZsb3csXG4gIFwiZ2l0aHViLWFsdFwiOiAkZmEtdmFyLWdpdGh1Yi1hbHQsXG4gIFwicGhvZW5peC1zcXVhZHJvblwiOiAkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24sXG4gIFwicGFnZWxpbmVzXCI6ICRmYS12YXItcGFnZWxpbmVzLFxuICBcImFsZ29saWFcIjogJGZhLXZhci1hbGdvbGlhLFxuICBcInJlZC1yaXZlclwiOiAkZmEtdmFyLXJlZC1yaXZlcixcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYSxcbiAgXCJzYWZhcmlcIjogJGZhLXZhci1zYWZhcmksXG4gIFwiZ29vZ2xlXCI6ICRmYS12YXItZ29vZ2xlLFxuICBcInNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlXCI6ICRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2UsXG4gIFwiZm9udC1hd2Vzb21lLWFsdFwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQsXG4gIFwiYXRsYXNzaWFuXCI6ICRmYS12YXItYXRsYXNzaWFuLFxuICBcImxpbmtlZGluLWluXCI6ICRmYS12YXItbGlua2VkaW4taW4sXG4gIFwiZGlnaXRhbC1vY2VhblwiOiAkZmEtdmFyLWRpZ2l0YWwtb2NlYW4sXG4gIFwibmltYmxyXCI6ICRmYS12YXItbmltYmxyLFxuICBcImNocm9tZWNhc3RcIjogJGZhLXZhci1jaHJvbWVjYXN0LFxuICBcImV2ZXJub3RlXCI6ICRmYS12YXItZXZlcm5vdGUsXG4gIFwiaGFja2VyLW5ld3NcIjogJGZhLXZhci1oYWNrZXItbmV3cyxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyxcbiAgXCJhZHZlcnNhbFwiOiAkZmEtdmFyLWFkdmVyc2FsLFxuICBcImNyZWF0aXZlLWNvbW1vbnNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLFxuICBcIndhdGNobWFuLW1vbml0b3JpbmdcIjogJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nLFxuICBcImZvbnRpY29uc1wiOiAkZmEtdmFyLWZvbnRpY29ucyxcbiAgXCJ3ZWl4aW5cIjogJGZhLXZhci13ZWl4aW4sXG4gIFwic2hpcnRzaW5idWxrXCI6ICRmYS12YXItc2hpcnRzaW5idWxrLFxuICBcImNvZGVwZW5cIjogJGZhLXZhci1jb2RlcGVuLFxuICBcImdpdC1hbHRcIjogJGZhLXZhci1naXQtYWx0LFxuICBcImx5ZnRcIjogJGZhLXZhci1seWZ0LFxuICBcInJldlwiOiAkZmEtdmFyLXJldixcbiAgXCJ3aW5kb3dzXCI6ICRmYS12YXItd2luZG93cyxcbiAgXCJ3aXphcmRzLW9mLXRoZS1jb2FzdFwiOiAkZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0LFxuICBcInNxdWFyZS12aWFkZW9cIjogJGZhLXZhci1zcXVhcmUtdmlhZGVvLFxuICBcInZpYWRlby1zcXVhcmVcIjogJGZhLXZhci12aWFkZW8tc3F1YXJlLFxuICBcIm1lZXR1cFwiOiAkZmEtdmFyLW1lZXR1cCxcbiAgXCJjZW50b3NcIjogJGZhLXZhci1jZW50b3MsXG4gIFwiYWRuXCI6ICRmYS12YXItYWRuLFxuICBcImNsb3Vkc21pdGhcIjogJGZhLXZhci1jbG91ZHNtaXRoLFxuICBcIm9wZW5zdXNlXCI6ICRmYS12YXItb3BlbnN1c2UsXG4gIFwicGllZC1waXBlci1hbHRcIjogJGZhLXZhci1waWVkLXBpcGVyLWFsdCxcbiAgXCJzcXVhcmUtZHJpYmJibGVcIjogJGZhLXZhci1zcXVhcmUtZHJpYmJibGUsXG4gIFwiZHJpYmJibGUtc3F1YXJlXCI6ICRmYS12YXItZHJpYmJibGUtc3F1YXJlLFxuICBcImNvZGllcGllXCI6ICRmYS12YXItY29kaWVwaWUsXG4gIFwibm9kZVwiOiAkZmEtdmFyLW5vZGUsXG4gIFwibWl4XCI6ICRmYS12YXItbWl4LFxuICBcInN0ZWFtXCI6ICRmYS12YXItc3RlYW0sXG4gIFwiY2MtYXBwbGUtcGF5XCI6ICRmYS12YXItY2MtYXBwbGUtcGF5LFxuICBcInNjcmliZFwiOiAkZmEtdmFyLXNjcmliZCxcbiAgXCJkZWJpYW5cIjogJGZhLXZhci1kZWJpYW4sXG4gIFwib3BlbmlkXCI6ICRmYS12YXItb3BlbmlkLFxuICBcImluc3RhbG9kXCI6ICRmYS12YXItaW5zdGFsb2QsXG4gIFwiZXhwZWRpdGVkc3NsXCI6ICRmYS12YXItZXhwZWRpdGVkc3NsLFxuICBcInNlbGxjYXN0XCI6ICRmYS12YXItc2VsbGNhc3QsXG4gIFwic3F1YXJlLXR3aXR0ZXJcIjogJGZhLXZhci1zcXVhcmUtdHdpdHRlcixcbiAgXCJ0d2l0dGVyLXNxdWFyZVwiOiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlLFxuICBcInItcHJvamVjdFwiOiAkZmEtdmFyLXItcHJvamVjdCxcbiAgXCJkZWxpY2lvdXNcIjogJGZhLXZhci1kZWxpY2lvdXMsXG4gIFwiZnJlZWJzZFwiOiAkZmEtdmFyLWZyZWVic2QsXG4gIFwidnVlanNcIjogJGZhLXZhci12dWVqcyxcbiAgXCJhY2N1c29mdFwiOiAkZmEtdmFyLWFjY3Vzb2Z0LFxuICBcImlveGhvc3RcIjogJGZhLXZhci1pb3hob3N0LFxuICBcImZvbnRpY29ucy1maVwiOiAkZmEtdmFyLWZvbnRpY29ucy1maSxcbiAgXCJhcHAtc3RvcmVcIjogJGZhLXZhci1hcHAtc3RvcmUsXG4gIFwiY2MtbWFzdGVyY2FyZFwiOiAkZmEtdmFyLWNjLW1hc3RlcmNhcmQsXG4gIFwiaXR1bmVzLW5vdGVcIjogJGZhLXZhci1pdHVuZXMtbm90ZSxcbiAgXCJnb2xhbmdcIjogJGZhLXZhci1nb2xhbmcsXG4gIFwia2lja3N0YXJ0ZXJcIjogJGZhLXZhci1raWNrc3RhcnRlcixcbiAgXCJncmF2XCI6ICRmYS12YXItZ3JhdixcbiAgXCJ3ZWlib1wiOiAkZmEtdmFyLXdlaWJvLFxuICBcInVuY2hhcnRlZFwiOiAkZmEtdmFyLXVuY2hhcnRlZCxcbiAgXCJmaXJzdGRyYWZ0XCI6ICRmYS12YXItZmlyc3RkcmFmdCxcbiAgXCJzcXVhcmUteW91dHViZVwiOiAkZmEtdmFyLXNxdWFyZS15b3V0dWJlLFxuICBcInlvdXR1YmUtc3F1YXJlXCI6ICRmYS12YXIteW91dHViZS1zcXVhcmUsXG4gIFwid2lraXBlZGlhLXdcIjogJGZhLXZhci13aWtpcGVkaWEtdyxcbiAgXCJ3cHJlc3NyXCI6ICRmYS12YXItd3ByZXNzcixcbiAgXCJyZW5kYWN0XCI6ICRmYS12YXItcmVuZGFjdCxcbiAgXCJhbmdlbGxpc3RcIjogJGZhLXZhci1hbmdlbGxpc3QsXG4gIFwiZ2FsYWN0aWMtcmVwdWJsaWNcIjogJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYyxcbiAgXCJuZmMtZGlyZWN0aW9uYWxcIjogJGZhLXZhci1uZmMtZGlyZWN0aW9uYWwsXG4gIFwic2t5cGVcIjogJGZhLXZhci1za3lwZSxcbiAgXCJqb2dldFwiOiAkZmEtdmFyLWpvZ2V0LFxuICBcImZlZG9yYVwiOiAkZmEtdmFyLWZlZG9yYSxcbiAgXCJzdHJpcGUtc1wiOiAkZmEtdmFyLXN0cmlwZS1zLFxuICBcIm1ldGFcIjogJGZhLXZhci1tZXRhLFxuICBcImxhcmF2ZWxcIjogJGZhLXZhci1sYXJhdmVsLFxuICBcImhvdGphclwiOiAkZmEtdmFyLWhvdGphcixcbiAgXCJibHVldG9vdGgtYlwiOiAkZmEtdmFyLWJsdWV0b290aC1iLFxuICBcInNxdWFyZS1sZXR0ZXJib3hkXCI6ICRmYS12YXItc3F1YXJlLWxldHRlcmJveGQsXG4gIFwic3RpY2tlci1tdWxlXCI6ICRmYS12YXItc3RpY2tlci1tdWxlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtemVyb1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybyxcbiAgXCJoaXBzXCI6ICRmYS12YXItaGlwcyxcbiAgXCJiZWhhbmNlXCI6ICRmYS12YXItYmVoYW5jZSxcbiAgXCJyZWRkaXRcIjogJGZhLXZhci1yZWRkaXQsXG4gIFwiZGlzY29yZFwiOiAkZmEtdmFyLWRpc2NvcmQsXG4gIFwiY2hyb21lXCI6ICRmYS12YXItY2hyb21lLFxuICBcImFwcC1zdG9yZS1pb3NcIjogJGZhLXZhci1hcHAtc3RvcmUtaW9zLFxuICBcImNjLWRpc2NvdmVyXCI6ICRmYS12YXItY2MtZGlzY292ZXIsXG4gIFwid3BiZWdpbm5lclwiOiAkZmEtdmFyLXdwYmVnaW5uZXIsXG4gIFwiY29uZmx1ZW5jZVwiOiAkZmEtdmFyLWNvbmZsdWVuY2UsXG4gIFwic2hvZWxhY2VcIjogJGZhLXZhci1zaG9lbGFjZSxcbiAgXCJtZGJcIjogJGZhLXZhci1tZGIsXG4gIFwiZG9jaHViXCI6ICRmYS12YXItZG9jaHViLFxuICBcImFjY2Vzc2libGUtaWNvblwiOiAkZmEtdmFyLWFjY2Vzc2libGUtaWNvbixcbiAgXCJlYmF5XCI6ICRmYS12YXItZWJheSxcbiAgXCJhbWF6b25cIjogJGZhLXZhci1hbWF6b24sXG4gIFwidW5zcGxhc2hcIjogJGZhLXZhci11bnNwbGFzaCxcbiAgXCJ5YXJuXCI6ICRmYS12YXIteWFybixcbiAgXCJzcXVhcmUtc3RlYW1cIjogJGZhLXZhci1zcXVhcmUtc3RlYW0sXG4gIFwic3RlYW0tc3F1YXJlXCI6ICRmYS12YXItc3RlYW0tc3F1YXJlLFxuICBcIjUwMHB4XCI6ICRmYS12YXItNTAwcHgsXG4gIFwic3F1YXJlLXZpbWVvXCI6ICRmYS12YXItc3F1YXJlLXZpbWVvLFxuICBcInZpbWVvLXNxdWFyZVwiOiAkZmEtdmFyLXZpbWVvLXNxdWFyZSxcbiAgXCJhc3ltbWV0cmlrXCI6ICRmYS12YXItYXN5bW1ldHJpayxcbiAgXCJmb250LWF3ZXNvbWVcIjogJGZhLXZhci1mb250LWF3ZXNvbWUsXG4gIFwiZm9udC1hd2Vzb21lLWZsYWdcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZyxcbiAgXCJmb250LWF3ZXNvbWUtbG9nby1mdWxsXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbCxcbiAgXCJncmF0aXBheVwiOiAkZmEtdmFyLWdyYXRpcGF5LFxuICBcImFwcGxlXCI6ICRmYS12YXItYXBwbGUsXG4gIFwiaGl2ZVwiOiAkZmEtdmFyLWhpdmUsXG4gIFwiZ2l0a3Jha2VuXCI6ICRmYS12YXItZ2l0a3Jha2VuLFxuICBcImtleWJhc2VcIjogJGZhLXZhci1rZXliYXNlLFxuICBcImFwcGxlLXBheVwiOiAkZmEtdmFyLWFwcGxlLXBheSxcbiAgXCJwYWRsZXRcIjogJGZhLXZhci1wYWRsZXQsXG4gIFwiYW1hem9uLXBheVwiOiAkZmEtdmFyLWFtYXpvbi1wYXksXG4gIFwic3F1YXJlLWdpdGh1YlwiOiAkZmEtdmFyLXNxdWFyZS1naXRodWIsXG4gIFwiZ2l0aHViLXNxdWFyZVwiOiAkZmEtdmFyLWdpdGh1Yi1zcXVhcmUsXG4gIFwic3R1bWJsZXVwb25cIjogJGZhLXZhci1zdHVtYmxldXBvbixcbiAgXCJmZWRleFwiOiAkZmEtdmFyLWZlZGV4LFxuICBcInBob2VuaXgtZnJhbWV3b3JrXCI6ICRmYS12YXItcGhvZW5peC1mcmFtZXdvcmssXG4gIFwic2hvcGlmeVwiOiAkZmEtdmFyLXNob3BpZnksXG4gIFwibmVvc1wiOiAkZmEtdmFyLW5lb3MsXG4gIFwic3F1YXJlLXRocmVhZHNcIjogJGZhLXZhci1zcXVhcmUtdGhyZWFkcyxcbiAgXCJoYWNrZXJyYW5rXCI6ICRmYS12YXItaGFja2VycmFuayxcbiAgXCJyZXNlYXJjaGdhdGVcIjogJGZhLXZhci1yZXNlYXJjaGdhdGUsXG4gIFwic3dpZnRcIjogJGZhLXZhci1zd2lmdCxcbiAgXCJhbmd1bGFyXCI6ICRmYS12YXItYW5ndWxhcixcbiAgXCJzcGVha2FwXCI6ICRmYS12YXItc3BlYWthcCxcbiAgXCJhbmdyeWNyZWF0aXZlXCI6ICRmYS12YXItYW5ncnljcmVhdGl2ZSxcbiAgXCJ5LWNvbWJpbmF0b3JcIjogJGZhLXZhci15LWNvbWJpbmF0b3IsXG4gIFwiZW1waXJlXCI6ICRmYS12YXItZW1waXJlLFxuICBcImVudmlyYVwiOiAkZmEtdmFyLWVudmlyYSxcbiAgXCJnb29nbGUtc2Nob2xhclwiOiAkZmEtdmFyLWdvb2dsZS1zY2hvbGFyLFxuICBcInNxdWFyZS1naXRsYWJcIjogJGZhLXZhci1zcXVhcmUtZ2l0bGFiLFxuICBcImdpdGxhYi1zcXVhcmVcIjogJGZhLXZhci1naXRsYWItc3F1YXJlLFxuICBcInN0dWRpb3ZpbmFyaVwiOiAkZmEtdmFyLXN0dWRpb3ZpbmFyaSxcbiAgXCJwaWVkLXBpcGVyXCI6ICRmYS12YXItcGllZC1waXBlcixcbiAgXCJ3b3JkcHJlc3NcIjogJGZhLXZhci13b3JkcHJlc3MsXG4gIFwicHJvZHVjdC1odW50XCI6ICRmYS12YXItcHJvZHVjdC1odW50LFxuICBcImZpcmVmb3hcIjogJGZhLXZhci1maXJlZm94LFxuICBcImxpbm9kZVwiOiAkZmEtdmFyLWxpbm9kZSxcbiAgXCJnb29kcmVhZHNcIjogJGZhLXZhci1nb29kcmVhZHMsXG4gIFwic3F1YXJlLW9kbm9rbGFzc25pa2lcIjogJGZhLXZhci1zcXVhcmUtb2Rub2tsYXNzbmlraSxcbiAgXCJvZG5va2xhc3NuaWtpLXNxdWFyZVwiOiAkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlLFxuICBcImpzZmlkZGxlXCI6ICRmYS12YXItanNmaWRkbGUsXG4gIFwic2l0aFwiOiAkZmEtdmFyLXNpdGgsXG4gIFwidGhlbWVpc2xlXCI6ICRmYS12YXItdGhlbWVpc2xlLFxuICBcInBhZ2U0XCI6ICRmYS12YXItcGFnZTQsXG4gIFwiaGFzaG5vZGVcIjogJGZhLXZhci1oYXNobm9kZSxcbiAgXCJyZWFjdFwiOiAkZmEtdmFyLXJlYWN0LFxuICBcImNjLXBheXBhbFwiOiAkZmEtdmFyLWNjLXBheXBhbCxcbiAgXCJzcXVhcmVzcGFjZVwiOiAkZmEtdmFyLXNxdWFyZXNwYWNlLFxuICBcImNjLXN0cmlwZVwiOiAkZmEtdmFyLWNjLXN0cmlwZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNoYXJlXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZSxcbiAgXCJiaXRjb2luXCI6ICRmYS12YXItYml0Y29pbixcbiAgXCJrZXljZG5cIjogJGZhLXZhci1rZXljZG4sXG4gIFwib3BlcmFcIjogJGZhLXZhci1vcGVyYSxcbiAgXCJpdGNoLWlvXCI6ICRmYS12YXItaXRjaC1pbyxcbiAgXCJ1bWJyYWNvXCI6ICRmYS12YXItdW1icmFjbyxcbiAgXCJnYWxhY3RpYy1zZW5hdGVcIjogJGZhLXZhci1nYWxhY3RpYy1zZW5hdGUsXG4gIFwidWJ1bnR1XCI6ICRmYS12YXItdWJ1bnR1LFxuICBcImRyYWZ0MmRpZ2l0YWxcIjogJGZhLXZhci1kcmFmdDJkaWdpdGFsLFxuICBcInN0cmlwZVwiOiAkZmEtdmFyLXN0cmlwZSxcbiAgXCJob3V6elwiOiAkZmEtdmFyLWhvdXp6LFxuICBcImdnXCI6ICRmYS12YXItZ2csXG4gIFwiZGhsXCI6ICRmYS12YXItZGhsLFxuICBcInNxdWFyZS1waW50ZXJlc3RcIjogJGZhLXZhci1zcXVhcmUtcGludGVyZXN0LFxuICBcInBpbnRlcmVzdC1zcXVhcmVcIjogJGZhLXZhci1waW50ZXJlc3Qtc3F1YXJlLFxuICBcInhpbmdcIjogJGZhLXZhci14aW5nLFxuICBcImJsYWNrYmVycnlcIjogJGZhLXZhci1ibGFja2JlcnJ5LFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcGRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLFxuICBcInBsYXlzdGF0aW9uXCI6ICRmYS12YXItcGxheXN0YXRpb24sXG4gIFwicXVpbnNjYXBlXCI6ICRmYS12YXItcXVpbnNjYXBlLFxuICBcImxlc3NcIjogJGZhLXZhci1sZXNzLFxuICBcImJsb2dnZXItYlwiOiAkZmEtdmFyLWJsb2dnZXItYixcbiAgXCJvcGVuY2FydFwiOiAkZmEtdmFyLW9wZW5jYXJ0LFxuICBcInZpbmVcIjogJGZhLXZhci12aW5lLFxuICBcInNpZ25hbC1tZXNzZW5nZXJcIjogJGZhLXZhci1zaWduYWwtbWVzc2VuZ2VyLFxuICBcInBheXBhbFwiOiAkZmEtdmFyLXBheXBhbCxcbiAgXCJnaXRsYWJcIjogJGZhLXZhci1naXRsYWIsXG4gIFwidHlwbzNcIjogJGZhLXZhci10eXBvMyxcbiAgXCJyZWRkaXQtYWxpZW5cIjogJGZhLXZhci1yZWRkaXQtYWxpZW4sXG4gIFwieWFob29cIjogJGZhLXZhci15YWhvbyxcbiAgXCJkYWlseW1vdGlvblwiOiAkZmEtdmFyLWRhaWx5bW90aW9uLFxuICBcImFmZmlsaWF0ZXRoZW1lXCI6ICRmYS12YXItYWZmaWxpYXRldGhlbWUsXG4gIFwicGllZC1waXBlci1wcFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItcHAsXG4gIFwiYm9vdHN0cmFwXCI6ICRmYS12YXItYm9vdHN0cmFwLFxuICBcIm9kbm9rbGFzc25pa2lcIjogJGZhLXZhci1vZG5va2xhc3NuaWtpLFxuICBcIm5mYy1zeW1ib2xcIjogJGZhLXZhci1uZmMtc3ltYm9sLFxuICBcIm1pbnRiaXRcIjogJGZhLXZhci1taW50Yml0LFxuICBcImV0aGVyZXVtXCI6ICRmYS12YXItZXRoZXJldW0sXG4gIFwic3BlYWtlci1kZWNrXCI6ICRmYS12YXItc3BlYWtlci1kZWNrLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmMtZXVcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1LFxuICBcInBhdHJlb25cIjogJGZhLXZhci1wYXRyZW9uLFxuICBcImF2aWFuZXhcIjogJGZhLXZhci1hdmlhbmV4LFxuICBcImVsbG9cIjogJGZhLXZhci1lbGxvLFxuICBcImdvZm9yZVwiOiAkZmEtdmFyLWdvZm9yZSxcbiAgXCJiaW1vYmplY3RcIjogJGZhLXZhci1iaW1vYmplY3QsXG4gIFwiYnJhdmUtcmV2ZXJzZVwiOiAkZmEtdmFyLWJyYXZlLXJldmVyc2UsXG4gIFwiZmFjZWJvb2stZlwiOiAkZmEtdmFyLWZhY2Vib29rLWYsXG4gIFwic3F1YXJlLWdvb2dsZS1wbHVzXCI6ICRmYS12YXItc3F1YXJlLWdvb2dsZS1wbHVzLFxuICBcImdvb2dsZS1wbHVzLXNxdWFyZVwiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZSxcbiAgXCJtYW5kYWxvcmlhblwiOiAkZmEtdmFyLW1hbmRhbG9yaWFuLFxuICBcImZpcnN0LW9yZGVyLWFsdFwiOiAkZmEtdmFyLWZpcnN0LW9yZGVyLWFsdCxcbiAgXCJvc2lcIjogJGZhLXZhci1vc2ksXG4gIFwiZ29vZ2xlLXdhbGxldFwiOiAkZmEtdmFyLWdvb2dsZS13YWxsZXQsXG4gIFwiZC1hbmQtZC1iZXlvbmRcIjogJGZhLXZhci1kLWFuZC1kLWJleW9uZCxcbiAgXCJwZXJpc2NvcGVcIjogJGZhLXZhci1wZXJpc2NvcGUsXG4gIFwiZnVsY3J1bVwiOiAkZmEtdmFyLWZ1bGNydW0sXG4gIFwiY2xvdWRzY2FsZVwiOiAkZmEtdmFyLWNsb3Vkc2NhbGUsXG4gIFwiZm9ydW1iZWVcIjogJGZhLXZhci1mb3J1bWJlZSxcbiAgXCJtaXp1bmlcIjogJGZhLXZhci1taXp1bmksXG4gIFwic2NobGl4XCI6ICRmYS12YXItc2NobGl4LFxuICBcInNxdWFyZS14aW5nXCI6ICRmYS12YXItc3F1YXJlLXhpbmcsXG4gIFwieGluZy1zcXVhcmVcIjogJGZhLXZhci14aW5nLXNxdWFyZSxcbiAgXCJiYW5kY2FtcFwiOiAkZmEtdmFyLWJhbmRjYW1wLFxuICBcIndwZm9ybXNcIjogJGZhLXZhci13cGZvcm1zLFxuICBcImNsb3VkdmVyc2lmeVwiOiAkZmEtdmFyLWNsb3VkdmVyc2lmeSxcbiAgXCJ1c3BzXCI6ICRmYS12YXItdXNwcyxcbiAgXCJtZWdhcG9ydFwiOiAkZmEtdmFyLW1lZ2Fwb3J0LFxuICBcIm1hZ2VudG9cIjogJGZhLXZhci1tYWdlbnRvLFxuICBcInNwb3RpZnlcIjogJGZhLXZhci1zcG90aWZ5LFxuICBcIm9wdGluLW1vbnN0ZXJcIjogJGZhLXZhci1vcHRpbi1tb25zdGVyLFxuICBcImZseVwiOiAkZmEtdmFyLWZseSxcbiAgXCJhdmlhdG9cIjogJGZhLXZhci1hdmlhdG8sXG4gIFwiaXR1bmVzXCI6ICRmYS12YXItaXR1bmVzLFxuICBcImN1dHRsZWZpc2hcIjogJGZhLXZhci1jdXR0bGVmaXNoLFxuICBcImJsb2dnZXJcIjogJGZhLXZhci1ibG9nZ2VyLFxuICBcImZsaWNrclwiOiAkZmEtdmFyLWZsaWNrcixcbiAgXCJ2aWJlclwiOiAkZmEtdmFyLXZpYmVyLFxuICBcInNvdW5kY2xvdWRcIjogJGZhLXZhci1zb3VuZGNsb3VkLFxuICBcImRpZ2dcIjogJGZhLXZhci1kaWdnLFxuICBcInRlbmNlbnQtd2VpYm9cIjogJGZhLXZhci10ZW5jZW50LXdlaWJvLFxuICBcImxldHRlcmJveGRcIjogJGZhLXZhci1sZXR0ZXJib3hkLFxuICBcInN5bWZvbnlcIjogJGZhLXZhci1zeW1mb255LFxuICBcIm1heGNkblwiOiAkZmEtdmFyLW1heGNkbixcbiAgXCJldHN5XCI6ICRmYS12YXItZXRzeSxcbiAgXCJmYWNlYm9vay1tZXNzZW5nZXJcIjogJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIsXG4gIFwiYXVkaWJsZVwiOiAkZmEtdmFyLWF1ZGlibGUsXG4gIFwidGhpbmstcGVha3NcIjogJGZhLXZhci10aGluay1wZWFrcyxcbiAgXCJiaWxpYmlsaVwiOiAkZmEtdmFyLWJpbGliaWxpLFxuICBcImVybGFuZ1wiOiAkZmEtdmFyLWVybGFuZyxcbiAgXCJ4LXR3aXR0ZXJcIjogJGZhLXZhci14LXR3aXR0ZXIsXG4gIFwiY290dG9uLWJ1cmVhdVwiOiAkZmEtdmFyLWNvdHRvbi1idXJlYXUsXG4gIFwiZGFzaGN1YmVcIjogJGZhLXZhci1kYXNoY3ViZSxcbiAgXCI0Mi1ncm91cFwiOiAkZmEtdmFyLTQyLWdyb3VwLFxuICBcImlubm9zb2Z0XCI6ICRmYS12YXItaW5ub3NvZnQsXG4gIFwic3RhY2stZXhjaGFuZ2VcIjogJGZhLXZhci1zdGFjay1leGNoYW5nZSxcbiAgXCJlbGVtZW50b3JcIjogJGZhLXZhci1lbGVtZW50b3IsXG4gIFwic3F1YXJlLXBpZWQtcGlwZXJcIjogJGZhLXZhci1zcXVhcmUtcGllZC1waXBlcixcbiAgXCJwaWVkLXBpcGVyLXNxdWFyZVwiOiAkZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kLFxuICBcInBhbGZlZFwiOiAkZmEtdmFyLXBhbGZlZCxcbiAgXCJzdXBlcnBvd2Vyc1wiOiAkZmEtdmFyLXN1cGVycG93ZXJzLFxuICBcInJlc29sdmluZ1wiOiAkZmEtdmFyLXJlc29sdmluZyxcbiAgXCJ4Ym94XCI6ICRmYS12YXIteGJveCxcbiAgXCJzZWFyY2hlbmdpblwiOiAkZmEtdmFyLXNlYXJjaGVuZ2luLFxuICBcInRpa3Rva1wiOiAkZmEtdmFyLXRpa3RvayxcbiAgXCJzcXVhcmUtZmFjZWJvb2tcIjogJGZhLXZhci1zcXVhcmUtZmFjZWJvb2ssXG4gIFwiZmFjZWJvb2stc3F1YXJlXCI6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlLFxuICBcInJlbnJlblwiOiAkZmEtdmFyLXJlbnJlbixcbiAgXCJsaW51eFwiOiAkZmEtdmFyLWxpbnV4LFxuICBcImdsaWRlXCI6ICRmYS12YXItZ2xpZGUsXG4gIFwibGlua2VkaW5cIjogJGZhLXZhci1saW5rZWRpbixcbiAgXCJodWJzcG90XCI6ICRmYS12YXItaHVic3BvdCxcbiAgXCJkZXBsb3lkb2dcIjogJGZhLXZhci1kZXBsb3lkb2csXG4gIFwidHdpdGNoXCI6ICRmYS12YXItdHdpdGNoLFxuICBcInJhdmVscnlcIjogJGZhLXZhci1yYXZlbHJ5LFxuICBcIm1peGVyXCI6ICRmYS12YXItbWl4ZXIsXG4gIFwic3F1YXJlLWxhc3RmbVwiOiAkZmEtdmFyLXNxdWFyZS1sYXN0Zm0sXG4gIFwibGFzdGZtLXNxdWFyZVwiOiAkZmEtdmFyLWxhc3RmbS1zcXVhcmUsXG4gIFwidmltZW9cIjogJGZhLXZhci12aW1lbyxcbiAgXCJtZW5kZWxleVwiOiAkZmEtdmFyLW1lbmRlbGV5LFxuICBcInVuaXJlZ2lzdHJ5XCI6ICRmYS12YXItdW5pcmVnaXN0cnksXG4gIFwiZmlnbWFcIjogJGZhLXZhci1maWdtYSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXJlbWl4XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peCxcbiAgXCJjYy1hbWF6b24tcGF5XCI6ICRmYS12YXItY2MtYW1hem9uLXBheSxcbiAgXCJkcm9wYm94XCI6ICRmYS12YXItZHJvcGJveCxcbiAgXCJpbnN0YWdyYW1cIjogJGZhLXZhci1pbnN0YWdyYW0sXG4gIFwiY21wbGlkXCI6ICRmYS12YXItY21wbGlkLFxuICBcInVwd29ya1wiOiAkZmEtdmFyLXVwd29yayxcbiAgXCJmYWNlYm9va1wiOiAkZmEtdmFyLWZhY2Vib29rLFxuICBcImdyaXBmaXJlXCI6ICRmYS12YXItZ3JpcGZpcmUsXG4gIFwiamVkaS1vcmRlclwiOiAkZmEtdmFyLWplZGktb3JkZXIsXG4gIFwidWlraXRcIjogJGZhLXZhci11aWtpdCxcbiAgXCJmb3J0LWF3ZXNvbWUtYWx0XCI6ICRmYS12YXItZm9ydC1hd2Vzb21lLWFsdCxcbiAgXCJwaGFicmljYXRvclwiOiAkZmEtdmFyLXBoYWJyaWNhdG9yLFxuICBcInVzc3VubmFoXCI6ICRmYS12YXItdXNzdW5uYWgsXG4gIFwiZWFybHliaXJkc1wiOiAkZmEtdmFyLWVhcmx5YmlyZHMsXG4gIFwidHJhZGUtZmVkZXJhdGlvblwiOiAkZmEtdmFyLXRyYWRlLWZlZGVyYXRpb24sXG4gIFwiYXV0b3ByZWZpeGVyXCI6ICRmYS12YXItYXV0b3ByZWZpeGVyLFxuICBcIndoYXRzYXBwXCI6ICRmYS12YXItd2hhdHNhcHAsXG4gIFwic2xpZGVzaGFyZVwiOiAkZmEtdmFyLXNsaWRlc2hhcmUsXG4gIFwiZ29vZ2xlLXBsYXlcIjogJGZhLXZhci1nb29nbGUtcGxheSxcbiAgXCJ2aWFkZW9cIjogJGZhLXZhci12aWFkZW8sXG4gIFwibGluZVwiOiAkZmEtdmFyLWxpbmUsXG4gIFwiZ29vZ2xlLWRyaXZlXCI6ICRmYS12YXItZ29vZ2xlLWRyaXZlLFxuICBcInNlcnZpY2VzdGFja1wiOiAkZmEtdmFyLXNlcnZpY2VzdGFjayxcbiAgXCJzaW1wbHlidWlsdFwiOiAkZmEtdmFyLXNpbXBseWJ1aWx0LFxuICBcImJpdGJ1Y2tldFwiOiAkZmEtdmFyLWJpdGJ1Y2tldCxcbiAgXCJpbWRiXCI6ICRmYS12YXItaW1kYixcbiAgXCJkZWV6ZXJcIjogJGZhLXZhci1kZWV6ZXIsXG4gIFwicmFzcGJlcnJ5LXBpXCI6ICRmYS12YXItcmFzcGJlcnJ5LXBpLFxuICBcImppcmFcIjogJGZhLXZhci1qaXJhLFxuICBcImRvY2tlclwiOiAkZmEtdmFyLWRvY2tlcixcbiAgXCJzY3JlZW5wYWxcIjogJGZhLXZhci1zY3JlZW5wYWwsXG4gIFwiYmx1ZXRvb3RoXCI6ICRmYS12YXItYmx1ZXRvb3RoLFxuICBcImdpdHRlclwiOiAkZmEtdmFyLWdpdHRlcixcbiAgXCJkLWFuZC1kXCI6ICRmYS12YXItZC1hbmQtZCxcbiAgXCJtaWNyb2Jsb2dcIjogJGZhLXZhci1taWNyb2Jsb2csXG4gIFwiY2MtZGluZXJzLWNsdWJcIjogJGZhLXZhci1jYy1kaW5lcnMtY2x1YixcbiAgXCJnZy1jaXJjbGVcIjogJGZhLXZhci1nZy1jaXJjbGUsXG4gIFwicGllZC1waXBlci1oYXRcIjogJGZhLXZhci1waWVkLXBpcGVyLWhhdCxcbiAgXCJraWNrc3RhcnRlci1rXCI6ICRmYS12YXIta2lja3N0YXJ0ZXItayxcbiAgXCJ5YW5kZXhcIjogJGZhLXZhci15YW5kZXgsXG4gIFwicmVhZG1lXCI6ICRmYS12YXItcmVhZG1lLFxuICBcImh0bWw1XCI6ICRmYS12YXItaHRtbDUsXG4gIFwic2VsbHN5XCI6ICRmYS12YXItc2VsbHN5LFxuICBcInNhc3NcIjogJGZhLXZhci1zYXNzLFxuICBcIndpcnNpbmRoYW5kd2Vya1wiOiAkZmEtdmFyLXdpcnNpbmRoYW5kd2VyayxcbiAgXCJ3c2hcIjogJGZhLXZhci13c2gsXG4gIFwiYnVyb21vYmVsZXhwZXJ0ZVwiOiAkZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGUsXG4gIFwic2FsZXNmb3JjZVwiOiAkZmEtdmFyLXNhbGVzZm9yY2UsXG4gIFwib2N0b3B1cy1kZXBsb3lcIjogJGZhLXZhci1vY3RvcHVzLWRlcGxveSxcbiAgXCJtZWRhcHBzXCI6ICRmYS12YXItbWVkYXBwcyxcbiAgXCJuczhcIjogJGZhLXZhci1uczgsXG4gIFwicGludGVyZXN0LXBcIjogJGZhLXZhci1waW50ZXJlc3QtcCxcbiAgXCJhcHBlclwiOiAkZmEtdmFyLWFwcGVyLFxuICBcImZvcnQtYXdlc29tZVwiOiAkZmEtdmFyLWZvcnQtYXdlc29tZSxcbiAgXCJ3YXplXCI6ICRmYS12YXItd2F6ZSxcbiAgXCJjYy1qY2JcIjogJGZhLXZhci1jYy1qY2IsXG4gIFwic25hcGNoYXRcIjogJGZhLXZhci1zbmFwY2hhdCxcbiAgXCJzbmFwY2hhdC1naG9zdFwiOiAkZmEtdmFyLXNuYXBjaGF0LWdob3N0LFxuICBcImZhbnRhc3ktZmxpZ2h0LWdhbWVzXCI6ICRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXMsXG4gIFwicnVzdFwiOiAkZmEtdmFyLXJ1c3QsXG4gIFwid2l4XCI6ICRmYS12YXItd2l4LFxuICBcInNxdWFyZS1iZWhhbmNlXCI6ICRmYS12YXItc3F1YXJlLWJlaGFuY2UsXG4gIFwiYmVoYW5jZS1zcXVhcmVcIjogJGZhLXZhci1iZWhhbmNlLXNxdWFyZSxcbiAgXCJzdXBwbGVcIjogJGZhLXZhci1zdXBwbGUsXG4gIFwid2ViZmxvd1wiOiAkZmEtdmFyLXdlYmZsb3csXG4gIFwicmViZWxcIjogJGZhLXZhci1yZWJlbCxcbiAgXCJjc3MzXCI6ICRmYS12YXItY3NzMyxcbiAgXCJzdGF5bGlua2VkXCI6ICRmYS12YXItc3RheWxpbmtlZCxcbiAgXCJrYWdnbGVcIjogJGZhLXZhci1rYWdnbGUsXG4gIFwic3BhY2UtYXdlc29tZVwiOiAkZmEtdmFyLXNwYWNlLWF3ZXNvbWUsXG4gIFwiZGV2aWFudGFydFwiOiAkZmEtdmFyLWRldmlhbnRhcnQsXG4gIFwiY3BhbmVsXCI6ICRmYS12YXItY3BhbmVsLFxuICBcImdvb2RyZWFkcy1nXCI6ICRmYS12YXItZ29vZHJlYWRzLWcsXG4gIFwic3F1YXJlLWdpdFwiOiAkZmEtdmFyLXNxdWFyZS1naXQsXG4gIFwiZ2l0LXNxdWFyZVwiOiAkZmEtdmFyLWdpdC1zcXVhcmUsXG4gIFwic3F1YXJlLXR1bWJsclwiOiAkZmEtdmFyLXNxdWFyZS10dW1ibHIsXG4gIFwidHVtYmxyLXNxdWFyZVwiOiAkZmEtdmFyLXR1bWJsci1zcXVhcmUsXG4gIFwidHJlbGxvXCI6ICRmYS12YXItdHJlbGxvLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmMtanBcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwLFxuICBcImdldC1wb2NrZXRcIjogJGZhLXZhci1nZXQtcG9ja2V0LFxuICBcInBlcmJ5dGVcIjogJGZhLXZhci1wZXJieXRlLFxuICBcImdydW50XCI6ICRmYS12YXItZ3J1bnQsXG4gIFwid2VlYmx5XCI6ICRmYS12YXItd2VlYmx5LFxuICBcImNvbm5lY3RkZXZlbG9wXCI6ICRmYS12YXItY29ubmVjdGRldmVsb3AsXG4gIFwibGVhbnB1YlwiOiAkZmEtdmFyLWxlYW5wdWIsXG4gIFwiYmxhY2stdGllXCI6ICRmYS12YXItYmxhY2stdGllLFxuICBcInRoZW1lY29cIjogJGZhLXZhci10aGVtZWNvLFxuICBcInB5dGhvblwiOiAkZmEtdmFyLXB5dGhvbixcbiAgXCJhbmRyb2lkXCI6ICRmYS12YXItYW5kcm9pZCxcbiAgXCJib3RzXCI6ICRmYS12YXItYm90cyxcbiAgXCJmcmVlLWNvZGUtY2FtcFwiOiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wLFxuICBcImhvcm5iaWxsXCI6ICRmYS12YXItaG9ybmJpbGwsXG4gIFwianNcIjogJGZhLXZhci1qcyxcbiAgXCJpZGVhbFwiOiAkZmEtdmFyLWlkZWFsLFxuICBcImdpdFwiOiAkZmEtdmFyLWdpdCxcbiAgXCJkZXZcIjogJGZhLXZhci1kZXYsXG4gIFwic2tldGNoXCI6ICRmYS12YXItc2tldGNoLFxuICBcInlhbmRleC1pbnRlcm5hdGlvbmFsXCI6ICRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWwsXG4gIFwiY2MtYW1leFwiOiAkZmEtdmFyLWNjLWFtZXgsXG4gIFwidWJlclwiOiAkZmEtdmFyLXViZXIsXG4gIFwiZ2l0aHViXCI6ICRmYS12YXItZ2l0aHViLFxuICBcInBocFwiOiAkZmEtdmFyLXBocCxcbiAgXCJhbGlwYXlcIjogJGZhLXZhci1hbGlwYXksXG4gIFwieW91dHViZVwiOiAkZmEtdmFyLXlvdXR1YmUsXG4gIFwic2t5YXRsYXNcIjogJGZhLXZhci1za3lhdGxhcyxcbiAgXCJmaXJlZm94LWJyb3dzZXJcIjogJGZhLXZhci1maXJlZm94LWJyb3dzZXIsXG4gIFwicmVwbHlkXCI6ICRmYS12YXItcmVwbHlkLFxuICBcInN1c2VcIjogJGZhLXZhci1zdXNlLFxuICBcImplbmtpbnNcIjogJGZhLXZhci1qZW5raW5zLFxuICBcInR3aXR0ZXJcIjogJGZhLXZhci10d2l0dGVyLFxuICBcInJvY2tybXNcIjogJGZhLXZhci1yb2Nrcm1zLFxuICBcInBpbnRlcmVzdFwiOiAkZmEtdmFyLXBpbnRlcmVzdCxcbiAgXCJidWZmZXJcIjogJGZhLXZhci1idWZmZXIsXG4gIFwibnBtXCI6ICRmYS12YXItbnBtLFxuICBcInlhbW1lclwiOiAkZmEtdmFyLXlhbW1lcixcbiAgXCJidGNcIjogJGZhLXZhci1idGMsXG4gIFwiZHJpYmJibGVcIjogJGZhLXZhci1kcmliYmJsZSxcbiAgXCJzdHVtYmxldXBvbi1jaXJjbGVcIjogJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGUsXG4gIFwiaW50ZXJuZXQtZXhwbG9yZXJcIjogJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcixcbiAgXCJzdHViYmVyXCI6ICRmYS12YXItc3R1YmJlcixcbiAgXCJ0ZWxlZ3JhbVwiOiAkZmEtdmFyLXRlbGVncmFtLFxuICBcInRlbGVncmFtLXBsYW5lXCI6ICRmYS12YXItdGVsZWdyYW0tcGxhbmUsXG4gIFwib2xkLXJlcHVibGljXCI6ICRmYS12YXItb2xkLXJlcHVibGljLFxuICBcIm9keXNlZVwiOiAkZmEtdmFyLW9keXNlZSxcbiAgXCJzcXVhcmUtd2hhdHNhcHBcIjogJGZhLXZhci1zcXVhcmUtd2hhdHNhcHAsXG4gIFwid2hhdHNhcHAtc3F1YXJlXCI6ICRmYS12YXItd2hhdHNhcHAtc3F1YXJlLFxuICBcIm5vZGUtanNcIjogJGZhLXZhci1ub2RlLWpzLFxuICBcImVkZ2UtbGVnYWN5XCI6ICRmYS12YXItZWRnZS1sZWdhY3ksXG4gIFwic2xhY2tcIjogJGZhLXZhci1zbGFjayxcbiAgXCJzbGFjay1oYXNoXCI6ICRmYS12YXItc2xhY2staGFzaCxcbiAgXCJtZWRydFwiOiAkZmEtdmFyLW1lZHJ0LFxuICBcInVzYlwiOiAkZmEtdmFyLXVzYixcbiAgXCJ0dW1ibHJcIjogJGZhLXZhci10dW1ibHIsXG4gIFwidmFhZGluXCI6ICRmYS12YXItdmFhZGluLFxuICBcInF1b3JhXCI6ICRmYS12YXItcXVvcmEsXG4gIFwic3F1YXJlLXgtdHdpdHRlclwiOiAkZmEtdmFyLXNxdWFyZS14LXR3aXR0ZXIsXG4gIFwicmVhY3RldXJvcGVcIjogJGZhLXZhci1yZWFjdGV1cm9wZSxcbiAgXCJtZWRpdW1cIjogJGZhLXZhci1tZWRpdW0sXG4gIFwibWVkaXVtLW1cIjogJGZhLXZhci1tZWRpdW0tbSxcbiAgXCJhbWlsaWFcIjogJGZhLXZhci1hbWlsaWEsXG4gIFwibWl4Y2xvdWRcIjogJGZhLXZhci1taXhjbG91ZCxcbiAgXCJmbGlwYm9hcmRcIjogJGZhLXZhci1mbGlwYm9hcmQsXG4gIFwidmlhY29pblwiOiAkZmEtdmFyLXZpYWNvaW4sXG4gIFwiY3JpdGljYWwtcm9sZVwiOiAkZmEtdmFyLWNyaXRpY2FsLXJvbGUsXG4gIFwic2l0cm94XCI6ICRmYS12YXItc2l0cm94LFxuICBcImRpc2NvdXJzZVwiOiAkZmEtdmFyLWRpc2NvdXJzZSxcbiAgXCJqb29tbGFcIjogJGZhLXZhci1qb29tbGEsXG4gIFwibWFzdG9kb25cIjogJGZhLXZhci1tYXN0b2RvbixcbiAgXCJhaXJibmJcIjogJGZhLXZhci1haXJibmIsXG4gIFwid29sZi1wYWNrLWJhdHRhbGlvblwiOiAkZmEtdmFyLXdvbGYtcGFjay1iYXR0YWxpb24sXG4gIFwiYnV5LW4tbGFyZ2VcIjogJGZhLXZhci1idXktbi1sYXJnZSxcbiAgXCJndWxwXCI6ICRmYS12YXItZ3VscCxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMsXG4gIFwic3RyYXZhXCI6ICRmYS12YXItc3RyYXZhLFxuICBcImVtYmVyXCI6ICRmYS12YXItZW1iZXIsXG4gIFwiY2FuYWRpYW4tbWFwbGUtbGVhZlwiOiAkZmEtdmFyLWNhbmFkaWFuLW1hcGxlLWxlYWYsXG4gIFwidGVhbXNwZWFrXCI6ICRmYS12YXItdGVhbXNwZWFrLFxuICBcInB1c2hlZFwiOiAkZmEtdmFyLXB1c2hlZCxcbiAgXCJ3b3JkcHJlc3Mtc2ltcGxlXCI6ICRmYS12YXItd29yZHByZXNzLXNpbXBsZSxcbiAgXCJudXRyaXRpb25peFwiOiAkZmEtdmFyLW51dHJpdGlvbml4LFxuICBcIndvZHVcIjogJGZhLXZhci13b2R1LFxuICBcImdvb2dsZS1wYXlcIjogJGZhLXZhci1nb29nbGUtcGF5LFxuICBcImludGVyY29tXCI6ICRmYS12YXItaW50ZXJjb20sXG4gIFwiemhpaHVcIjogJGZhLXZhci16aGlodSxcbiAgXCJrb3J2dWVcIjogJGZhLXZhci1rb3J2dWUsXG4gIFwicGl4XCI6ICRmYS12YXItcGl4LFxuICBcInN0ZWFtLXN5bWJvbFwiOiAkZmEtdmFyLXN0ZWFtLXN5bWJvbCxcbik7XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnI3sgJGZhLXN0eWxlLWZhbWlseSB9JztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhcixcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFzLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cbiIsIi8vIEhvbGRzIGFsbCBvZiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHRlbXBsYXRlLCB0aGVzZSB2YXJpYWJsZXMgYWxzbyBnZXQgaW5qZWN0ZWQgaW50byBmb3VuZGF0aW9uJ3Mgc2V0dGluZ3MuXHJcbi8vIFVzZWQgZm9yIGNvbnN0cnVjdGluZyB1cmxzLlxyXG4kc2l0ZTogJycgIWRlZmF1bHQ7IFxyXG5cclxuXHJcblxyXG5AaWYgJGRlYnVnIHtcclxuICAgIEBkZWJ1ZyBDb21waWxpbmcgc2FzcyBmb3IgJHNpdGUgO1xyXG59XHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcywgdGhpcyBpcyBteSBpbnRpaWFsIGF0dGVtcHQgYXQgbWFraW5nIHN1cmUgaG92ZXIgYmFja2dyb3VuZCBzdGF0ZXMgZG9udCBjb25mbGljdCB3aXRoIHRoZSB0ZXh0IGNvbG91ci5cclxuJGNvbnRyYWN0LWNoZWNrZXItY29sb3VyLWZhbGxiYWNrczogJGNvbG91cjEsICRjb2xvdXIyLCAkY29sb3VyMywgJGNvbG91cjQsICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBEZXNjcmVhc2UgaWYgeW91IHdhbnQgbGVzcyBzZW5zaXRpdml0eSBidXQgY29udGVudCBtYXkgYmVjb21lIGlsbGVnaWJsZS5cclxuJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkOiAyLjIgIWRlZmF1bHQ7XHJcbi8vIEFkZGVkIGJvcmRlciByYWRpdXMgdG8gdGhpbmdzIGxpa2UgYnV0dG9ucyArIG5hdmlnYXRpb24uXHJcbiRzbW9vdGgtZWRnZXMtZW5hYmxlZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzbW9vdGgtZWRnZXMtbGV2ZWw6IDE1cHggIWRlZmF1bHQ7XHJcbi8vIEdsb2JhbCBJbWFnZSBzZXR0aW5ncyAoIExpc3RpbmcgcGFnZXMgJiB0YWJsZXMgKS5cclxuJHRhYmxlLWltYWdlLXNpemU6IDEzMnB4ICFkZWZhdWx0O1xyXG4kZ3JpZC1pbWFnZS1zaXplOiAyMzBweCAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLy8gLS0tLS0gR2xvYmFsIFBhZ2UgU2V0dGluZ3MgLS0tLS0gXHJcbi8vIENvbnRhaW5lZCBjb250ZW50IG1heCB3aWR0aC5cclxuJGdsb2JhbC13aWR0aDogMTMwMHB4ICFkZWZhdWx0O1xyXG4vLyBVbmNvbnRhaW5lZCBjb250ZW50IG1heCB3aWR0aCAoIGkuZSBmdWxsIHdpZHRoICkgdGhpcyBpcyBleGNsdWRpbmcgYW55dGhpbmcgb3V0c2lkZSBvZiBhIC5ncmlkLXggKCBlLmcgc3RpY2sgZWxlbWVudHMsIDxoZWFkZXI+LCA8Zm9vdGVyPiApIGtlZXAgaW4gbWluZCAyayAmIDRrIG1vbml0b3JzIHdoZW4gYWRqdXN0aW5nIHRoaXMuXHJcbiRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDE5MjBweCAhZGVmYXVsdDtcclxuXHJcbi8vIFhZIEdyaWRcclxuJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gTWFpbiArIGZvb3RlciBzZXR0aW5ncy5cclxuJHBhZ2UtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFR5cG9ncmFwaHkgLS0tLS0gXHJcbiRib2R5LWZvbnQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGJvZHktZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIikgIWRlZmF1bHQ7XHJcbiRib2R5LWNvcHktbWF4LXdpZHRoOiA4NTBweCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDsgXHJcbiRkZWZhdWx0LXVubGluZS1jb2xvdXJzOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0OyAvLyBIYW5kbGVzIHdlaWdodCBmb3IgbGFiZWwgKyB2YWx1ZSBwYWlyICggaS5lIHRhYmxlcyBtb2JpbGUsIHZpZXcgb3JkZXIgc3VtbWFyeSBwYW5lcyApXHJcbiRjb21tb24tcnVsZS1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRjb21tb24tcnVsZS13ZWlnaHQ6IDFweCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRpbmdzIC0tLVxyXG4kaGVhZGluZy1ydWxlLWNvbG91cjogJGNvbW1vbi1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7IC8vIElmIHVzaW5nIGEgZGlmZmVyZW50IGZvbnQgZm9yIGhlYWRpbmdzIHRoZW4geW91IG1heSBuZWVkIHRvIGFkanVzdCB0aGUgbGluZS1oZWlnaHQuXHJcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kcGFnZS1oZWFkaW5nLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0OiAkY29tbW9uLXJ1bGUtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLW1hcmdpbjogMCAwIDI1cHggIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXJ1bGUtY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAyNSxcclxuICAgIHByZXNldC0yOiAzMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXVuZGVybGluZTogKFxyXG4gICAgcHJlc2V0LTE6ICRwYWdlLWhlYWRpbmctdW5kZXJsaW5lLFxyXG4gICAgcHJlc2V0LTI6ICRwYWdlLWhlYWRpbmctdW5kZXJsaW5lXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBwcmVzZXQtMTogNjAwLFxyXG4gICAgcHJlc2V0LTI6IDMwMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXRleHQtYWxpZ246IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybTogKCBcclxuICAgIHByZXNldC0xOiBub25lLFxyXG4gICAgcHJlc2V0LTI6IG5vbmVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBwcmVzZXQtMTogMCxcclxuICAgIHByZXNldC0yOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMjAsXHJcbiAgICBwcmVzZXQtMjogMjAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDE4XHJcbikgICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC13ZWlnaHQ6IChcclxuICAgIHByZXNldC0xOiA3MDAsXHJcbiAgICBwcmVzZXQtMjogNzAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMjogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbTogMCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IHJnYmEoJGNvbG91cjQtMSwgMC4xKSxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAkY29sb3VyNC02XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogKDAgMCAyNXB4LCAwIDAgNTBweCksXHJcbiAgICBwcmVzZXQtMjogKDAsIDApLFxyXG4gICAgcHJlc2V0LTM6IDAgMCAyMHB4LFxyXG4gICAgcHJlc2V0LTQ6ICgwIDAgMTVweCwgMCAwIDUwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDE1cHggMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogbm9uZSxcclxuICAgIHByZXNldC0yOiBub25lLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpLFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXRleHQtYWxpZ246IChcclxuICAgIHByZXNldC0xOiBjZW50ZXIsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKVxyXG4pO1xyXG4kaGVhZGluZy0yLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0zOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtNDogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItd29yZC1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTI6IG5vcm1hbCxcclxuICAgIHByZXNldC0zOiBub3JtYWxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1saW5lLWhlaWdodDogaWYoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0LCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCwxLjUpICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpLFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMylcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNjAwLFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm06IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0zKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6IDAsXHJcbiAgICBwcmVzZXQtMjogMCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0xKSxcclxuICAgIHByZXNldC0yOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRpbmctNS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGluZy02LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCdWxsZXQgcG9pbmR0cyAtLS1cclxuJGJ1bGxldC1zaXplOiA1cHggIWRlZmF1bHQ7XHJcbiRidWxsZXQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJ1bGxldC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhcmFncmFwaCAtLS0gXHJcbiRwYXJhZ3JhcGgtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tLSBQcmljZSAtLS1cclxuJHByaWNlLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcmljZS1saXN0LWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kcHJpY2UtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByaWNlLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vICRwcmljZS1mb250LXdlaWdodCBpcyB0aGUgb2xkIHZhcmlhYmxlIHdlIHVzZWQgdGlsbCB3ZSBuZWVkZWQgdG8gc3BsaXQgdmFsdWUgd2l0aCBsYWJlbC5cclxuJHByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcmljZS12YWx1ZS1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSUlAgLS0tXHJcbiRycnAtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHJycC1mb250LXNpemU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRycnAtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHJycC1zdHJpa2U6IHRydWUgIWRlZmF1bHQ7XHJcbiRycnAtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuLy8gLS0tIFNhdmluZyAtLS0gXHJcbiRzYXZpbmdzLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzYXZpbmctZm9udC1zaXplOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kc2F2aW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzYXZpbmctc3RyaWtlOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgUHJpY2UgLS0tIFxyXG4kcGFjay1wcmljZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIFNpemUgLS0tXHJcbiRwYWNrLXNpemUtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBJdGVtIFNpemUgLS0tIFxyXG4kcGFjay1pdGVtLXNpemUtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29kZSAtLS0gXHJcbiRjb2RlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEljb25zIC0tLS0tIFxyXG4vLyAtLS0gU29jaWFsIC0tLVxyXG4vLyBUaGVzZSBhcmUgZnJvbSB0aGUgZnJvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kc29jaWFsLWljb25zOiAoXHJcbiAgICBmYWNlYm9vazogJ1xcZjM5ZScsXHJcbiAgICB0d2l0dGVyOiAnXFxlNjFiJyxcclxuICAgIGluc3RhZ3JhbTogJ1xcZjE2ZCcsXHJcbiAgICBsaW5rZWRJbjogJ1xcZjBlMScsXHJcbiAgICB5b3V0dWJlOiAnXFxmMTY3JyxcclxuICAgIGVtYWlsOiAnXFxmMWQ4JyxcclxuICAgIGdvb2dsZS1wbHVzOiAnXFxmMGQ1JyxcclxuICAgIHNoYXJlOiAnXFxmMWUwJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpbGUgLS0tXHJcbiRmaWxlLWljb25zLXNpemU6IDI2cHggIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiRmaWxlLWF0dGFjaG1lbnQtcGFkZGluZzogMTBweCA1cHggIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFR5cGljYWxseSBmcm9tIHRoZSBmb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJGZpbGUtdHlwZS1pY29uczogKFxyXG4gICAgYnJvY2h1cmU6ICdcXGYxNWMnLFxyXG4gICAgdXNlci1ndWlkZTogJ1xcZjE1YicsXHJcbiAgICBwYXJ0cy1kaWFncmFtOiAnXFxmMTVjJyxcclxuICAgIHdvcmQ6ICdcXGYxYzInLFxyXG4gICAgcG93ZXJwb2ludDogJ1xcZjFjNCcsXHJcbiAgICBleGNlbDogJ1xcZjFjMycsXHJcbiAgICBwZGY6ICdcXGYxYzEnLFxyXG4gICAgY3N2OiAnXFxmNmRkJyxcclxuICAgIGltYWdlOiAnXFxmMWM1JyxcclxuICAgIHZpZGVvOiAnXFxmMWM4JyxcclxuICAgIHVua25vd246ICdcXGYxNWInLFxyXG4gICAgemlwOiAnXFxmMWM2J1xyXG4pICFkZWZhdWx0O1xyXG4vLyBGaWxlIEljb24gQ29sb3Vyc1xyXG4kZmlsZS1pY29ucy1jb2xvdXJzOiAoXHJcbiAgICBicm9jaHVyZTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHVzZXItZ3VpZGU6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBwYXJ0cy1kaWFncmFtOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgd29yZDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAwKSxcclxuICAgIHBvd2VycG9pbnQ6ICRjb2xvdXI2LTEsXHJcbiAgICBleGNlbDogJGNvbG91cjQsXHJcbiAgICBwZGY6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBjc3Y6IHJnYmEoJGNvbG91cjQsIDAuOSksXHJcbiAgICBpbWFnZTogJGNvbG91cjMtMyxcclxuICAgIHZpZGVvOiAkY29sb3VyMy02LFxyXG4gICAgdW5rbm93bjogJGNvbG91cjQtNyxcclxuICAgIHppcDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTaXRlIHdpZGUgaWNvbnMgLS0tIFxyXG5cclxuJGNoZXZyb24taWNvbnM6IChcclxuICAgIHVwOiAnXFxmMDc3JyxcclxuICAgIHJpZ2h0OiAnXFxmMDU0JyxcclxuICAgIGRvd246ICdcXGYwNzgnLFxyXG4gICAgbGVmdDogJ1xcZjA1MydcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZnJvbSB0aGUgZm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRkZWZhdWx0LXNpdGUtaWNvbnM6IChcclxuICAgIGltYWdlLTM2MDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnM2RpY29uLnN2ZycsXHJcbiAgICBjYXJkLXBheW1lbnQ6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2NhcmQtcGF5bWVudC5zdmcnLFxyXG4gICAgcGF5cGFsOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdwYXlwYWwuc3ZnJyxcclxuICAgIGdvb2dsZS1wYXk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2dvb2dsZS1wYXkuc3ZnJyxcclxuICAgIGFwcGx5LXBheTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnYXBwbHktcGF5LnN2ZycsXHJcbiAgICBkaXJlY3QtZGViaXQ6ICdcXEU4NEUnLFxyXG4gICAgZW5sYXJnZTogJ1xcZjMxZScsXHJcbiAgICBiYXNrZXQtaWNvbjogJ1xcZjI5MScsXHJcbiAgICBiYXNrZXQtd2FybmluZzogJ1xcRTgxMScsXHJcbiAgICBiYXNrZXQtYWxlcnQ6ICdcXEU4MTInLFxyXG4gICAgYmFza2V0LXJlbW92ZTogJ1xcZjJlZCcsXHJcbiAgICBiYXNrZXQtZGVsaXZlcnk6ICdcXGYwZDEnLFxyXG4gICAgYmFza2V0LXZhdDogJ1xcZjI5NScsXHJcbiAgICBiYXNrZXQtdm91Y2hlcjogJ1xcZjAyYycsXHJcbiAgICB1cGRhdGU6ICdcXGYwMjEnLFxyXG4gICAgem9vbS1pbjogJ1xcZjAwZScsXHJcbiAgICB6b29tLW91dDogJ1xcZjAxMCcsXHJcbiAgICBzdWNjZXNzOiAnXFxmMDBjJyxcclxuICAgIHdhcm5pbmc6ICdcXGYwNzEnLFxyXG4gICAgYWxlcnQ6ICdcXGYwNmEnLFxyXG4gICAgdW5rbm93bjogJ1xcZjA1OScsXHJcbiAgICBjYW5jZWxsZWQ6ICdcXGYyOGQnLFxyXG4gICAgaW4tcHJvZ3Jlc3M6ICdcXGYxMTAnLFxyXG4gICAgc2VhcmNoOiAnXFxmMDAyJyxcclxuICAgIGVtYWlsOiAnXFxmMGUwJyxcclxuICAgIHRlbGVwaG9uZTogJ1xcZjg3OScsXHJcbiAgICBmYXZvdXJpdGVzLWRlZmF1bHQ6ICdcXGYwMDQnLFxyXG4gICAgZmF2b3VyaXRlcy1ob3ZlcjogJ1xcZjAwNCcsXHJcbiAgICBwcm9jZWVkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBjaGVja2JveC10aWNrOiAnXFxmMDBjJyxcclxuICAgIHBheW1lbnQtY2FyZDogJ1xcZjA5ZCcsXHJcbiAgICBob21lOiAnXFxmMDE1JywgXHJcbiAgICBibG9nOiAnXFxmMDg2JyxcclxuICAgIG5ld3M6ICdcXGYxZWEnLFxyXG4gICAgZXZlbnRzOiAnXFxmMDczJyxcclxuICAgIGJsb2NrcXVvdGU6ICdcXGYxMGQnLFxyXG4gICAgaW5mbzogJ1xcZjEyOScsXHJcbiAgICBpbmZvLWNpcmNsZTogJ1xcZjA1YScsXHJcbiAgICBuby1hY2Nlc3M6ICdcXGYwMjMnLFxyXG4gICAgZWRpdDogJ1xcZjA0NCcsXHJcbiAgICBwYXNzd29yZC1yZXZlYWw6ICdcXGYwNmUnLFxyXG4gICAgY2xvc2UtYnV0dG9uOiAnXFxmMDBkJyxcclxuICAgIHF1YW50aXR5LXNlbGVjdG9yLWluY3JlbWVudDogJ1xcZjA2OCcsXHJcbiAgICBxdWFudGl0eS1zZWxlY3Rvci1kZWNyZW1lbnQ6ICdcXGYwNjcnLFxyXG4gICAgYmFuOiAnXFxmMDVlJyxcclxuICAgIGhhbWJ1cmdlcjogJ1xcZjBjOScsXHJcbiAgICBtYWlsOiAnXFxmMWQ4JyxcclxuICAgIHJhdGluZzogJ1xcZjAwNScsXHJcbiAgICBiYWNrLXRvLXRvcDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgbWVnYS1tZW51LWxpbmstaWNvbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgbWVudS1jbG9zZTogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBtZW51LW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGNhcm91c2VsLWNvbnRyb2xzLW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGF1dG8tY29tcGxldGUtdmlldy1hbGw6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIHNvaC0wOiAnXFxmMDBkJyxcclxuICAgIHNvaC0xOiAnXFxmMDBjJyxcclxuICAgIHNvaC0yOiAnXFxmMDBjJyxcclxuICAgIHN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOiAnXFxmMGYzJyxcclxuICAgIHN0b2NrLW5vdGlmaWNhdGlvbi1hY3RpdmU6ICdcXGYwZjMnLFxyXG4gICAgbGlzdC1ncmlkLXZpZXc6ICdcXGYwMGEnLFxyXG4gICAgbGlzdC10YWJsZS12aWV3OiAnXFxmMDBiJyxcclxuICAgIHJlYWQtbW9yZS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICByZWFkLW1vcmUtY2xvc2VkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIGFuY2hvci1pbmRpY2F0b3I6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGJyZWFkY3J1bWJzLXNlcGVyYXRvcjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgbGlnaHRib3gtcHJldjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBsaWdodGJveC1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBmaWxlLXVwbG9hZDogJ1xcZjU3NCcsXHJcbiAgICBmaWxlLXVwbG9hZC1yZWFkeTogJ1xcZTVhMCcsXHJcbiAgICBmaWxlLXJlbW92ZTogJ1xcZjAwZCcsXHJcbiAgICBjb2xsZWN0aW9uLW9ubHk6ICdcXEU4MTgnLFxyXG4gICAgYWR2YW5jZWQtZm9ybS1zdWNjZXNzOiAnXFxmMDBjJyxcclxuICAgIGFkdmFuY2VkLWZvcm0tZmFpbDogJ1xcZjAwZCcsXHJcbiAgICBmaWx0ZXI6ICdcXGYwYjAnLFxyXG4gICAgY2FsbC1yYXRpbmctY2Fubm90LXJhdGU6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZS5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdW5yYXRlZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXVucmF0ZWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXZlcnktYmFkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdmVyeS1iYWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWJhZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWJhZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctYXZlcmFnZTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWF2ZXJhZ2Uuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWdvb2Q6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1nb29kLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy12ZXJ5LWdvb2Q6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy12ZXJ5LWdvb2Quc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1sb3c6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWxvdy5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LW1lZGl1bTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktbWVkaXVtLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktaGlnaDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktaGlnaC5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWNyaXRpY2FsOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1jcml0aWNhbC5zdmcnLFxyXG4gICAgY2FsbC1hZGQtaW5mbzogJ1xcRTgzQycsXHJcbiAgICBjYWxsLXJlcXVlc3QtYXJjaGl2ZTogJ1xcRTgzQicsXHJcbiAgICBjYWxsLWxpc3Q6ICdcXEU4MzknLFxyXG4gICAgbmV3LWNhbGw6ICdcXEU4M0EnLFxyXG4gICAgdGFibGUtc29ydC1hc2NlbmQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRhYmxlLXNvcnQtZGVzY2VuZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICB0YWJsZS1yZXZlYWwtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdGFibGUtcmV2ZWFsLWNsb3NlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBsb2NhdGlvbjogJ1xcZjNjNScsXHJcbiAgICB0cmVlLW1lbnUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdHJlZS1tZW51LWNsb3NlOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIHZvdGUtdXA6ICdcXGYxNjQnLFxyXG4gICAgdGFnLXJlbW92ZTogJ1xcZjAwZCcsXHJcbiAgICB0aGlyZC1wYXJ0eS10cmFja2luZzogJ1xcRTgyNycsXHJcbiAgICBwcmludGVyOiAnXFxmMDJmJyxcclxuICAgIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb246ICdcXDJiJyxcclxuICAgIGJhcmNvZGUtc2Nhbm5lci1idXR0b24taWNvbjogJ1xcRTg0RCcsXHJcbiAgICBjYWxsLXNvdXJjZS11c2VyOiAnXFxmMDA3JyxcclxuICAgIGNhbGwtc291cmNlLXBvcnRhbDogJ1xcZjBhYycsXHJcbiAgICBjYWxsLXNvdXJjZS1lbWFpbDogJ1xcZjBlMCcsXHJcbiAgICBjYWxsLXR5cGUtYXR0YWNobWVudDogJ1xcRTgyQycsXHJcbiAgICBjYWxsLXR5cGUtcHJpdmFjeTogJ1xcRTgzMScsXHJcbiAgICBjYWxsLXR5cGUtdHlwZTogJ1xcRTgxQycsXHJcbiAgICBjYWxsLXR5cGUtY2xhc3NpZmljYWl0b246ICdcXEU4MjAnLFxyXG4gICAgY2FsbC10eXBlLWNvbXBsZXRlOiAnXFxFODE1JyxcclxuICAgIGNhbGwtdHlwZS1jb250YWN0OiAnXFxFODE3JyxcclxuICAgIGNhbGwtdHlwZS1jb250cmFjdDogJ1xcRTgxQScsXHJcbiAgICBjYWxsLXR5cGUtY29udHJhY3QtdHlwZTogJ1xcRTgxOScsXHJcbiAgICBjYWxsLXR5cGUtY3JlYXRlZDogJ1xcRTgyOScsXHJcbiAgICBjYWxsLXR5cGUtZGVmZXJyZWQ6ICdcXEU4MjgnLFxyXG4gICAgY2FsbC10eXBlLWVzY2FsYXRpb246ICdcXEU4MkYnLFxyXG4gICAgY2FsbC10eXBlLWltcGFjdDogJ1xcRTgyQScsXHJcbiAgICBjYWxsLXR5cGUtaW5ib3VuZC1waG9uZS1jYWxsOiAnXFxFODFGJyxcclxuICAgIGNhbGwtdHlwZS1pbmZvcm1hdGlvbjogJ1xcRTgyRCcsXHJcbiAgICBjYWxsLXR5cGUtbGluazogJ1xcRTgyQicsXHJcbiAgICBjYWxsLXR5cGUtb3V0Ym91bmQtcGhvbmUtY2FsbDogJ1xcRTgyRScsXHJcbiAgICBjYWxsLXR5cGUtcHJpb3JpdHk6ICdcXEU4MzAnLFxyXG4gICAgY2FsbC10eXBlLXJlc3BvbnNpYmlsaXR5OiAnXFxFODMyJyxcclxuICAgIGNhbGwtdHlwZS1zaG9ydGN1dC1zZW50OiAnXFxFODMzJyxcclxuICAgIGNhbGwtdHlwZS1zbGEtaW5jbHVzaW9uOiAnXFxFODM0JyxcclxuICAgIGNhbGwtdHlwZS1zdGF0dXM6ICdcXEU4MUInLFxyXG4gICAgY2FsbC10eXBlLXVuZGVmZXJyZWQ6ICdcXEU4MzcnLFxyXG4gICAgY2FsbC10eXBlLXVyZ2VudDogJ1xcRTgzOCcsXHJcbiAgICBjYWxsLXR5cGUtd29ya2Zsb3c6ICdcXEU4MUQnLFxyXG4gICAgZG9jdW1lbnRhdGlvbi1wdWJsaWMtdXJsOiAnXFxmMGFjJyxcclxuICAgIGRvY3VtZW50YXRpb24tc3RhdGlzdGljczogJ1xcZTQ3MycsXHJcbiAgICBjbGlwYm9hcmQtY29weTogJ1xcZjBjNScsXHJcbiAgICBjb250ZXh0LW1lbnUtZWRpdDogJ1xcZjAxMycsXHJcbiAgICBjb250ZXh0LWVkaXQtdGV4dDogJ1xcZjA0NCcsXHJcbiAgICBjb250ZXh0LWVkaXQtcHJvcGVydGllczogJ1xcRTg1MScsXHJcbiAgICBjb250ZXh0LW1vdmUtdXA6ICdcXGU0YzInLFxyXG4gICAgY29udGV4dC1tb3ZlLWRvd246ICdcXGU0YjgnLFxyXG4gICAgY29udGV4dC1pbnNlcnQtYmVmb3JlOiAnXFxFODUwJyxcclxuICAgIGNvbnRleHQtaW5zZXJ0LWFmdGVyOiAnXFxFODI0JyxcclxuICAgIGNvbnRleHQtZGVsZXRlOiAnXFxmMmVkJyxcclxuICAgIGNvbnRleHQtYWNjZXNzLWxldmVsOiAnXFxmNWZkJyxcclxuICAgIGNvbnRleHQtcHVibGlzaGVkOiAnXFxmMDkzJyxcclxuICAgIGNvbnRleHQtcHJvbW90ZTogJ1xcZjAzYicsXHJcbiAgICBjb250ZXh0LWRlbW90ZTogJ1xcZjAzYycsXHJcbiAgICBjb250ZXh0LW1vdmU6ICdcXGYwYjInLFxyXG4gICAgY29udGV4dC1hdWRpdDogJ1xcZjFkYScsXHJcbiAgICBjbXMtcGFnaW5hdGlvbi1wcmV2aW91czogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBjbXMtcGFnaW5hdGlvbi1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBzaXRlLWxpc3QtYmVzcG9rZS1zaXRlLWljb246ICdcXEU4MjEnLFxyXG4gICAgc29mdHdhcmUtdXBkYXRlLWRvd25sb2FkOiAnXFxmMDE5JyxcclxuICAgIHNvZnR3YXJlLXJlbGVhc2UtZGF0ZS10aW1lOiAnXFxmMDE3JyxcclxuICAgIHByb2R1Y3QtZW5xdWlyeS1kZWxpdmVyeS1jb3VudGRvd246ICdcXGYwMTcnLFxyXG4gICAgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uOiAnXFxmMDRiJyxcclxuICAgIHZpZGVvLXBsYXllci1yZXBsYXktdGh1bWJuYWlsLWljb246ICdcXGYzNjMnLFxyXG4gICAgdmlkZW8tcGxheWVyLWR1cmF0aW9uLWljb25zOiAnXFxmMDE3JyxcclxuICAgIHNpdGUtbWFwLXBhcmVudC1pY29uOiAgbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgZXh0ZXJuYWwtbGluay1pY29uOiAnXFxmMDhlJyxcclxuICAgIG5vbi1yZXR1cm5hYmxlOiAnXFxFODUzJyxcclxuICAgIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdDogJ1xcZjE5MicsXHJcbiAgICBzZWxlY3Rpb24taW5jcmVtZW50OiAnXFwyYicsXHJcbiAgICBmaWxlLWRvd25sb2FkOiAnXFxmNTZkJyxcclxuICAgIHVucmVhZC1zdGF0ZS1vbjogJ1xcZjExMSdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENyZWF0ZSBkZWZhdWx0IGljb25zIG1hcCBpZiBpdCBoYXNuJ3QgYmVlbiBkZWZpbmVkIGluIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgZmlsZS5cclxuJHNpdGUtaWNvbnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gQW55IGN1c3RvbSBpY29ucyBlbmFibGVkP1xyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnM6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXIgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsdGVyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBTZWFyY2ggaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgc2VhcmNoKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBOZXcgY2FsbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tbmV3LWNhbGwtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIG5ldy1jYWxsKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIGxpc3QgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtbGlzdC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1saXN0KSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIGFkZCBpbmZvIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWFkZC1pbmZvLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLWFkZC1pbmZvKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDYWxsIHJlcXVlc3QgYXJjaGl2ZSBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1yZXF1ZXN0LWFyY2hpdmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtcmVxdWVzdC1hcmNoaXZlKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBGaWxlIHVwbG9hZCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsZS11cGxvYWQtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBGaWxlIHVwbG9hZCByZWFkeS5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbGUtcmVhZHkpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEhhbWJ1cmdlclxyXG4kc2l0ZS1pY29ucy1jdXN0b20taGFtYnVyZ2VyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBoYW1idXJnZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEJhc2tldCBpY29uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBFbWFpbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGVtYWlsKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBFbWFpbCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBlZGl0IHByb3BlcnRpZXMuXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtZWRpdC1wcm9wZXJ0aWVzLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtcHJvcGVydGllcyksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGluc2VydCBiZWZvcmVcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYmVmb3JlLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1iZWZvcmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBpbnNlcnQgYWZ0ZXJcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYWZ0ZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWFmdGVyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBNZXJnZSBkZWZhdWx0IGljb25zIHdpdGggc2l0ZSBzcGVjaWZpYyBpY29ucyBpZiBlbmFibGVkLlxyXG4kc2l0ZS1pY29uczogbWFwLW1lcmdlKCRkZWZhdWx0LXNpdGUtaWNvbnMsICRzaXRlLWljb25zKTtcclxuXHJcblxyXG4vLyAtLS0gQWNjb3VudCBBcmVhIEljb25zIC0tLSBcclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBmcm9tIHRoZSBmb250ZWxsbyBsaWJyYXJ5LlxyXG4kZGVmYXVsdC1hY2NvdW50LWljb25zOiAoXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogJ1xcRTgwMScsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6ICdcXEU4MDInLFxyXG4gICAgY29udHJhY3QtaXRlbXM6ICdcXEU4MDYnLFxyXG4gICAgdmlldy1vcmRlcnM6ICdcXEU4MEUnLFxyXG4gICAgZmF2b3VyaXRlczogbWFwLWdldCgkc2l0ZS1pY29ucywgZmF2b3VyaXRlcy1kZWZhdWx0KSxcclxuICAgIHJlY2VudGx5LXB1cmNoYXNlZDogJ1xcRTgwRicsXHJcbiAgICBtYW5hZ2UtY2FyZHM6ICdcXEU4MEMnLFxyXG4gICAgc3RhdGVtZW50OiAnXFxFODA3JyxcclxuICAgIG1hbmFnZS11c2VyczogJ1xcRTgwRCcsXHJcbiAgICBicmFuY2gtc3dpdGNoZXI6ICdcXEU4MDAnLFxyXG4gICAgY29udGFjdC1wcmVmZXJlbmNlczogJ1xcRTgwNScsXHJcbiAgICBoaXN0b3JpY2FsLXRyYW5zYWN0aW9uczogJ1xcRTgwOScsXHJcbiAgICBsb2dvdXQ6ICdcXEU4MEEnLFxyXG4gICAgYWNjb3VudDogJ1xcZjAwNycsXHJcbiAgICBvcmRlci11cGxvYWQ6ICdcXEU4MzUnLFxyXG4gICAgYmFza2V0LXVwbG9hZDogJ1xcRTgzNicsXHJcbiAgICBtYW5hZ2UtY2FsbHM6ICdcXEU4MUUnLFxyXG4gICAgc2VydmljZS1jb250cmFjdHM6ICdcXEU4NDAnLFxyXG4gICAgY3VzdG9tZXItYXNzZXRzOiAnXFxFODI1JyxcclxuICAgIHBheW1lbnQtcmVxdWVzdHM6ICdcXEU4MjYnLFxyXG4gICAgZG93bmxvYWQtcHJpY2UtbGlzdHM6ICdcXEU4N0EnLFxyXG4gICAgc2l0ZS1saXN0OiAnXFxFODNGJyxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogJ1xcRTg0MScsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6ICdcXEU4NDInLFxyXG4gICAgb25saW5lLWRvY3VtZW50YXRpb246ICdcXEU4NDQnLFxyXG4gICAgZGVmYXVsdC1pY29uOiAnXFxFODQzJyxcclxuICAgIHNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3M6ICdcXEU4NDUnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzOiAnXFxFODRCJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1zdGFydC13b3JrOiAnXFxFODRCJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1lbmQtd29yazogJ1xcRTg0OScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbHVuY2gtc3RhcnQ6ICdcXEU4NDcnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWx1bmNoLWVuZDogJ1xcRTg0NicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtYXJyaXZpbmc6ICdcXEU4NEMnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWxlYXZpbmc6ICdcXEU4NEEnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLXNpY2s6ICdcXEU4MjMnLFxyXG4gICAgbWljcm9zb2Z0LXN1YnNjcmlwdGlvbnM6ICdcXGYxN2EnLFxyXG4gICAgY2FsbC1zdGF0aXN0aWNzOiAnXFxFODUyJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ3JlYXRlIGRlZmF1bHQgaWNvbnMgbWFwIGlmIGl0IGhhc24ndCBiZWVuIGRlZmluZWQgaW4gc2l0ZSBzcGVjaWZpYyBicmFuZGluZyBmaWxlLlxyXG4kYWNjb3VudC1pY29uczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBBbnkgY3VzdG9tIGljb25zIGVuYWJsZWQ/IFxyXG4kc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIE1lcmdlIGRlZmF1bHQgaWNvbnMgd2l0aCBzaXRlIHNwZWNpZmljIGljb25zIGlmIHNpdGUgc3BlY2lmaWMgaWNvbnMgZW5hYmxlZC5cclxuJGFjY291bnQtaWNvbnM6IG1hcC1tZXJnZSgkZGVmYXVsdC1hY2NvdW50LWljb25zLCAkYWNjb3VudC1pY29ucyk7XHJcbi8vIC0tLS0tIElucHV0cyAtLS0tLSBcclxuLy8gLS0tIEdlbmVyYWwgLS0tIFxyXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogaWYoJHNtb290aC1lZGdlcy1lbmFibGVkLCAkc21vb3RoLWVkZ2VzLWxldmVsLCAwKSAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoJ3NlY29uZGFyeS1mb250JykgIWRlZmF1bHQ7XHJcbiRpbnB1dC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDIpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXI6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDcpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpLFxyXG4gICAgYWN0aXZlOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgYWN0aXZlLWhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBpbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gRmlsZSBpbnB1dFxyXG4kaW5wdXQtZmlsZS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogcmdiYSgkY29sb3VyNCwgLjcpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTQsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLXVwbG9hZC1pcy1yZWFkeS1pY29uLWZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1vdXRlci1ib3JkZXItd2lkdGg6IDRweCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRoOiAyLjVweCAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiByZ2JhKCRjb2xvdXI0LTEsIC4xKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJpY2ggVGV4dCBFZGl0b3IgLS0tXHJcbiRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldDogMjVweCAhZGVmYXVsdDtcclxuJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tbWF4LWxldmVsczogNSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGb3JtcyAtLS1cclxuJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbjogKFxyXG4gICAgc21hbGw6IGxlZnQsXHJcbiAgICBtZWRpdW06IGNlbnRlcixcclxuICAgIGxhcmdlOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweCAyMDVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbi8vIFNpbmdsZSBDb2x1bW4gRm9ybXMuXHJcbiRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKSAhZGVmYXVsdDtcclxuJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gSGVhZGluZyAoIGgyIClcclxuJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1mb250LXNpemU6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tOiBudWxsICFkZWZhdWx0O1xyXG4vLyBTdWIgSGVhZGluZyAoIGgzIClcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc2l6ZTogMjQgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmllbGRzZXQgKyBJbnB1dHMgLS0tXHJcbiRmaWVsZHNldC1pbnB1dC1oZWlnaHQ6IDQ1cHggIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1pbnB1dC1wYWRkaW5nOiA1cHggMCA1cHggMjVweCAhZGVmYXVsdDtcclxuJGZpZWxkLXdpZHRoOiAoXHJcbiAgICBtb2JpbGU6IDEwMCUsXHJcbiAgICBkZXNrdG9wOiA2NDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtc2V0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtaW5wdXQtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDQzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1qdXN0aWZ5LWNlbnRlcjogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gRGVmYXVsdCB3aWR0aCB3aWR0aG91dCBhbnkgY2xhc3MuXHJcbiRmaWVsZHNldC1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTYwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVGhpcyBpcyBub3QgYnJlYWtwb2ludCB3aWR0aHMgYnV0IHJhdGhlciBjbGFzcyBzaXplcyAuc21hbGwsIC5tZWRpdW0sIC5sYXJnZVxyXG4kZmllbGQtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiAzMDBweCxcclxuICAgIG1lZGl1bTogMzUwcHgsXHJcbiAgICBsYXJnZTogNDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDAgMCAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTGFiZWxzIC0tLSBcclxuJGxhYmVsLWlucHV0LWdhcDogNXB4ICFkZWZhdWx0O1xyXG4kbGFiZWwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIGZvcm0gY29udGFpbmVycy5cclxuJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsIFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbHVtbi1jbXMtY29udGVudC1jb250YWluZXI6IChcclxuICAgIHNtYWxsOiAwIDE1cHggNy41cHgsXHJcbiAgICBsYXJnZTogMCA4NXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBhZGRpdGlvbmFsIGluZm8uXHJcbiRhZGRpdGlvbmFsLWluZm8taW1hZ2UtbWFyZ2luOiAwIDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbnB1dHMgLS0tLS1cclxuJGlucHV0LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3gtc2hhZG93OiAoXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzFcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG91cjogJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLXdpZHRoOiA3MHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTogJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG91cjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taW5uZXItYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDaGVja2JveGVzIC0tLVxyXG4kY2hlY2tib3gtZGltZW50aW9uczogMjBweCAhZGVmYXVsdDtcclxuJGNoZWNrYm94LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBhY3RpdmUtaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3ZlciksXHJcbiAgICBhY3RpdmUtZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJhZGlvIEJ1dHRvbnMgLS0tXHJcbiRyYWRpby1kaW1lbnRpb25zOiAxNXB4ICFkZWZhdWx0O1xyXG4kcmFkaW8taWNvbi1kaW1lbnNpb25zOiAoJHJhZGlvLWRpbWVudGlvbnMgLyAyKSAhZGVmYXVsdDtcclxuJHJhZGlvLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2VsZWN0IERyb3Bkb3ducyAtLS1cclxuJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogOTBweCxcclxuICAgIG1lZGl1bTogMjE1cHgsXHJcbiAgICBsYXJnZTogMzQwcHgsXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoOiAzMHB4ICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBob3ZlciAmIGFjdGl2ZSBpbXBsZW1lbnRhdGlvbi5cclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTIsXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQW5jaG9ycyAtLS0gXHJcbiRhbmNob3JzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgXHJcbiAgICBob3ZlcjogLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLFxyXG4gICAgYWN0aXZlOiAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wXHJcbikgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1mb250LXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdDtcclxuJGFuY2hvcnMtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvcmdvdHRlbiBwYXNzd29yZCBsaW5rIC0tLVxyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc293cmQtYW5jaG9yLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFNTTyAtLS0tLVxyXG4kc3NvLWJ1dHRvbi1taWNyb3NvZnQtdGhlbWU6ICdsaWdodCcgIWRlZmF1bHQ7XHJcbiRzc28tYnV0dG9uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNzAlLFxyXG4gICAgbWVkaXVtOiAzMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kc3NvLWNvbW1vbi1nYXA6IDIwcHggIWRlZmF1bHQ7XHJcbiRzc28tc2VwZXJhdG9yLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gQ01TIC8gVGV4dERCIGNvbnRlbnQgY29udGFpbmVyIC0tLS0tXHJcbiRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENsb3NlIGJ1dHRvbiAtLS0tLSBcclxuJGljb24tc2l6ZTogMjRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE1vZGFscyAtLS0tLVxyXG4kbW9kYWwtY29udGVudC16LWluZGV4OiAyMDAxICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIC0tLVxyXG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1jbXMtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbGFyZ2U6IDMwcHggMzBweCAvLyBCYWxhbmNpbmcgdG9wICsgYm90dG9tIGZvciA4NTAxNzUuXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNb2RhbCBmb3JtcyAtLS1cclxuJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg6IDgwJSAhZGVmYXVsdDtcclxuJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW46IChcclxuICAgIHNtYWxsOiBhdXRvLFxyXG4gICAgbGFyZ2U6IDIwcHggYXV0byAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBCdXR0b25zIC0tLS0tXHJcbi8vIENvbW1vbiBidXR0b24gc3R5bGVzICggdGhlc2UgYXJlIHVzZWQgb24gbXVsdGlwbGUgYnV0dG9ucy5cclxuJGNvbW1vbi1idXR0b24tbWFyZ2luOiAoc21hbGw6IDVweCAxMHB4LCBsYXJnZTogMCkgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXBhZGRpbmc6IDE1cHggMzVweCAhZGVmYXVsdDtcclxuLy8gJGNvbW1vbi1idXR0b24tZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuLy8gQXNzb2NpYXRlZCA9IGJ1dHRvbnMgdGhhdCBhcmUgbGlua2VkIHRvIGFuIGlucHV0ICggaS5lIGxvb2t1cHMgKVxyXG4vLyBTdGFuZGFsb25lID0gYnV0dG9ucyB0aGF0IGFyZSBub3QgZGlyZWN0bHkgbGlua3MgdG8gaW5wdXRzICggaS5lIGZvcm0gc3VibWlzc2lvbnMgJiBhbmNob3JzIClcclxuJGNvbW1vbi1idXR0b24tZm9udC1zaXplczogKFxyXG4gICAgYXNzb2NpYXRlZDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSxcclxuICAgIHN0YW5kYWxvbmU6IDE2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0czogKFxyXG4gICAgYXNzb2NpYXRlZDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0LFxyXG4gICAgc3RhbmRhbG9uZTogNzAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0OiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nOiAycHggIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nOiAuNnB4ICFkZWZhdWx0O1xyXG4vLyBOb3JtYWxseSB3aGVuIHlvdSBzZXQgdXBwZXJjYXNlIGFuZCBmb250IHRvIGJvbGQgeW91IHdpbGwgd2FudCB0byBpbmNyZWFzZSB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGxlZ2liaWxpdHkgcmVhc29ucyAoIHRoaXMgaXMgb2J2aW91c2x5IGRlcGVuZGFudCBvbiB0aGUgZm9udCBmYW1pbHkgYmVpbmcgdXNlZCApXHJcbiRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nLXVwcGVyY2FzZS1ib2xkOiAoJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmcgKiAyKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyBQcmltYXJ5IGJ1dHRvbiBzdHlsZXMuXHJcbiRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGxpZ2h0ZW4oZGVzYXR1cmF0ZShhZGp1c3QtaHVlKCRjb2xvdXI0LTEsIC03JSksIDQlKSwgNDQlKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBTZWNvbmRhcnkgYnV0dG9uIHN0eWxlcy5cclxuJHNlY29uZGFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kc2Vjb25kYXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kc2Vjb25kYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogbGlnaHRlbihkZXNhdHVyYXRlKGFkanVzdC1odWUoJGNvbG91cjQtMSwgLTclKSwgNCUpLCA0NCUpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gVGVydGlhcnkgYnV0dG9uIHN0eWxlc1xyXG4kdGVydGlhcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHRlcnRpYXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kdGVydGlhcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBRdWF0ZXJuYXJ5IGJ1dHRvbiBzdHlsZXNcclxuJHF1YXRlcm5hcnktYnV0dG9uLXBhZGRpbmc6IDMuNXB4IDE2cHggIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyRxdWF0ZXJuYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFF1aW5hcnkgYnV0dG9uIFxyXG4kcXVpbmFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kcXVpbmFyeS1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8kcXVpbmFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gR2VuZXJpYyBjbXMgYnV0dG9uIFxyXG4kY21zLWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRjbXMtYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRjbXMtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3IoJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBhbmNob3IgcHJvY2VlZCBidXR0b24uXHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuLy8gTG9jYXRpb24gYnV0dG9uICAoIHN0b2NraXN0IClcclxuJGxvY2F0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbG9jYXRpb24tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY2l0dmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEJhcmNvZGUgc2Nhbm5lciB0b2dnbGUgYnV0dG9uLlxyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1ib3JkZXItY29sb3VyLWRlc2t0b3A6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXJjb2RlLXNjYW5uZXItYnV0dG9uLWljb24pLFxyXG4gICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4LFxyXG4gICAgY29sb3VyOiAoXHJcbiAgICAgICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tY29sb3VyKSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMVxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zLFxyXG4gICAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gU3RvY2tsaW5lIGJ1dHRvblxyXG4kc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nOiAyMHB4IDEwcHggIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJHN0b2NrbGluZS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIE5vdCBsb2dnZWQgaW5cclxuLy8gQWRqdXN0aW5nIHRoZSBwYWRkaW5nIHdpbGwgY2F1c2UgdGhlc2UgYnV0dG9ucyB0byBnbyBvdXQgb2YgdmVydGljbGUgYWxpZ25tZW50IHdpdGggdGhlIGJ1eWluZyBmb3JtLlxyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tcGFkZGluZzogJHN0b2NrbGluZS1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8kbm90LWxvZ2dlZC1pbi1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIEVucXVpcnkgYnV0dG9uLlxyXG4kZW5xdWlyeS1idXR0b24tcGFkZGluZzogJHN0b2NrbGluZS1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8kZW5xdWlyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIFBhZ2UgYWN0aW9uIGJ1dHRpb25zXHJcbi8vIERlZmF1bHQuXHJcbiRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJGEtZGVmYXVsdC1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kYS1kZWZhdWx0LWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHN0YXR1cy1idXR0b24tY29tbW9uLXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzLlxyXG4kc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksIFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gV2FybmluZy5cclxuJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQWxlcnQuXHJcbiRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDptYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhbGVydC1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQ2FuY2VsIC8gYmFjayBidXR0b25cclxuJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kY2FuY2VsLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4vLyBBbGVydCAvIHJlbW92ZSAvIGRlbGV0ZSBidXR0b24uXHJcbiRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENNUyBidXR0b25zIHN1Y2ggYXMgYmxvZywgbmV3cyAmIGV2ZW50cy5cclxuJGNtcy1idXR0b24tbGluay1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctdW5kZXJsaW5lOiAoXHJcbiAgICBoMTogZmFsc2UsXHJcbiAgICBoMjogZmFsc2UsXHJcbiAgICBoMzogZmFsc2VcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ6IGdldC1idXR0b24tZm9udC13ZWlnaHRzKCkgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8gTmV3cyBidXR0b25cclxuJG5ld3MtYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBCbG9nIGJ1dHRvblxyXG4kYmxvZy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIEV2ZW50cyBidXR0b25cclxuJGV2ZW50cy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXJkIFBhcnR5IHRyYWNraW5nIGJ1dHRvbi5cclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nOiAxMHB4IWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXdlaWdodDogNjAwO1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtNlxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1ndXR0ZXI6IDEycHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmVxdWlyZWQgcHJvbXB0IC0tLVxyXG4kcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBtYXAtZ2V0KCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcsIHNtYWxsKSxcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtZm9udC1zaXplOiAxNC40ICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wdG9tcHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTWVudXMgLS0tLS1cclxuLy8gQ29tbW9uIHN0eWxlcyAoIHR5cGljYWxseSB0aGUgbW9iaWxlIGV4cGllcmFuY2UgKS5cclxuJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHggIWRlZmF1bHQ7XHJcbi8vIEhlYWRlclxyXG4kbWVudXMtaGVhZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRtZW51cy1oZWFkZXItZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJG1lbnVzLWhlYWRlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gQWN0dWFsIG1lbnVzXHJcbiRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIxLFxyXG4gICAgbGFyZ2U6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kbWVudS1ncm91cC1kcm9wZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0xLWJvcmRlci1ib3R0b206IChcclxuICAgIHNtYWxsOiAxcHggc29saWQgJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWJvcmRlci10b3A6IChcclxuICAgIHNtYWxsOiAxcHggc29saWQgJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1saS1ib3JkZXI6IChcclxuICAgIHNtYWxsOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBWaWV3IE1vcmVcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGluay1pY29uLXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwIDEwcHggMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLy8gLS0tIFRyZWUgbWVudSAtLS1cclxuJHRyZWUtbWVudS1icmFuY2gtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAgMTBweCA2LjY2cHgsXHJcbiAgICBsYXJnZTogMTBweCAwIDEwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZzogKCBcclxuICAgIGxhcmdlOiAxMHB4IDAgMTBweCA3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplOiAyNXB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjogMnB4IHNvbGlkICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91ciAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg6IDMwcHggIWRlZmF1bHQ7IFxyXG4kdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU6ICgkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplIC0gNCkgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtYXNzZXRzLXJvb3QtbGFiZWwtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVHJlZSBNZW51ICggYXNzZXRzICkgLS0tXHJcbiR0cmVlLW1lbnUtYXNzZXRzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC02ICFkZWZhdWx0O1xyXG4vLyAtLS0gRnVuY3Rpb25zIExpc3QgLS0tIFxyXG4kZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDVweCA1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kZnVuY3Rpb25zLW1lbnUtYXJyb3ctc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFRhYmxlcyAtLS0tLVxyXG4kdGFibGUtcHJlc2V0LTEtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBSb3cgTm90aWZpY2F0aW9ucyAoIE1hbmFnZSBDYWxscyApIFxyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aDogKFxyXG4gICAgZGVmYXVsdDogMnB4LFxyXG4gICAgaG92ZXI6IDZweFxyXG4pICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbi8vIFJvdyBUb2dnbGUuXHJcbiR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBIZWFkXHJcbiR0aGVhZC1ib3JkZXItY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHRoZWFkLXByZXNldC0xOiAoXHJcbiAgICBwYWRkaW5nOiAwIDVweCAxMHB4LCBcclxuICAgIGZvbnQtc2l6ZTogMTUsXHJcbiAgICBmb250LXdlaWdodDogNzAwLFxyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIHJvdy1ib3JkZXI6ICRjb21tb24tcnVsZS13ZWlnaHQgc29saWQgJHRoZWFkLWJvcmRlci1jb2xvdXIsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMCxcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcixcclxuICAgIHRleHQtdHJhbmZvcm06IG5vbmVcclxuKSAhZGVmYXVsdDtcclxuLy8gUHJpbWFyaWx5IHVzZWQgZm9yIHRoZSBiYXNrZXQuXHJcbiR0aGVhZC1wcmVzZXQtMjogKFxyXG4gICAgcGFkZGluZzogMCAwIDIwcHgsXHJcbiAgICBmb250LXNpemU6IDE0LFxyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCxcclxuICAgIGNvbG9yOiAkY29sb3VyMixcclxuICAgIHJvdy1ib3JkZXI6ICRjb21tb24tcnVsZS13ZWlnaHQgc29saWQgJHRoZWFkLWJvcmRlci1jb2xvdXIsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBTb3J0aW5nXHJcbiR0aGVhZC1zb3J0aW5nLWJ1dHRvbi1pY29uLXNpemU6ICgkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAtIDIpO1xyXG4vLyBUYWJsZSBCb2R5XHJcbiR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpLFxyXG4gICAgaG92ZXI6ICR0aGVhZC1ib3JkZXItY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiR0Ym9keS1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XHJcbiR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmc6IDAgMTBweCAhZGVmYXVsdDtcclxuJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItZm9udC1zaXplOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4vLyBSb3dzXHJcbi8vIFNwYWNpbmcgYmV0d2VlbiByb3csIHRoaXMgZ2V0cyB1c2VkIGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbiB3aGF0IGVmZmVjdHMgYXJlIGFwcGxpZWQgdG8gdGhlIHRhYmxlICggaS5lIGlmIHlvdSdyZSBzaG93IHJ1bGVzIGJldHdlZW4gcm93IClcclxuJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZzogMTBweCAhZGVmYXVsdDtcclxuLy8gVGFibGUgZm9vdGVyIHNwYWNlci5cclxuJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMTogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBERiBUYWJsZSBBbmNob3JzXHJcbiRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcclxuLy8gT3JkZXIgVGFibGUgKCBQcmltYXJseSB1c2VkIGZvciBiYXNrZXQsIHZpZXcgb3JkZXIgJiBjaGVja291dCBjb21wbGV0ZSApXHJcbiRvcmRlci1tb2JpbGUtcm93LXBhZGRpbmc6IDVweCAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDE1NXB4LFxyXG4gICAgbGFyZ2U6ICR0YWJsZS1pbWFnZS1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4vLyAkb3JkZXItdGFibGUtY29kZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtY29kZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcHJpY2UtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1zdWItdG90YWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplOiA4MHB4ICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29tcGFyaXNvbiBUYWJsZSAtLS0gXHJcbiRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDU4JSxcclxuICAgIGxhcmdlOiAxNSVcclxuKSAhZGVmYXVsdDtcclxuJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXZhbHVlcy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDTVMgQ29udGVudCAtLS0tLSBcclxuJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1jbXMtY29weS1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1jbXMtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGZvbnQgc2l6ZVxyXG4kY21zLWhlYWRpbmctZm9udC1zaXplOiAoXHJcbiAgICBoMTogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgMTAsXHJcbiAgICBoMjogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgMTIsXHJcbiAgICBoMzogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICsgNyxcclxuICAgIGg0OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDcsXHJcbiAgICBoNTogJHBhcmFncmFwaC1mb250LXNpemUgKyAzLFxyXG4gICAgaDY6ICRwYXJhZ3JhcGgtZm9udC1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5ncyBmb250IHdlaWdodFxyXG4kY21zLWhlYWRpbmctZm9udC13ZWlnaHQ6IChcclxuICAgIGgxOiA2MDAsXHJcbiAgICBoMjogNjAwLFxyXG4gICAgaDM6IDYwMCxcclxuICAgIGg0OiA0MDAsXHJcbiAgICBoNTogNDAwLFxyXG4gICAgaDY6IDQwMFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctZm9udC1zdHlsZTogKFxyXG4gICAgaDE6IG5vcm1hbCxcclxuICAgIGgyOiBub3JtYWwsXHJcbiAgICBoMzogbm9ybWFsLFxyXG4gICAgaDQ6IG5vcm1hbCxcclxuICAgIGg1OiBub3JtYWwsXHJcbiAgICBoNjogbm9ybWFsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIG1hcmdpbnNcclxuJGNtcy1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgaDE6IDI1cHggMCAyMHB4LFxyXG4gICAgaDI6IDI1cHggMCAyMHB4LFxyXG4gICAgaDM6IDI1cHggMCAxMHB4LFxyXG4gICAgaDQ6IDI1cHggMCAxMHB4LFxyXG4gICAgaDU6IDE1cHggMCAxMHB4LFxyXG4gICAgaDY6IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctcGFkZGluZzogKFxyXG4gICAgaDE6IG51bGwsXHJcbiAgICBoMjogbnVsbCxcclxuICAgIGgzOiAxNXB4IDAsXHJcbiAgICBoNDogMCAwIDEwcHgsXHJcbiAgICBoNTogbnVsbCxcclxuICAgIGg2OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGNvbG91cnMuXHJcbiRjbXMtaGVhZGluZy1jb2xvdXI6IChcclxuICAgIGgxOiAkY29sb3VyNCxcclxuICAgIGgyOiAkY29sb3VyNCxcclxuICAgIGgzOiAkY29sb3VyNixcclxuICAgIGg0OiAkY29sb3VyNCxcclxuICAgIGg1OiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIsXHJcbiAgICBoNjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgaDE6IG51bGwsXHJcbiAgICBoMjogbnVsbCxcclxuICAgIGgzOiBudWxsLFxyXG4gICAgaDQ6IG51bGwsXHJcbiAgICBoNTogbnVsbCxcclxuICAgIGg2OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENNUyBoZWFkaW5nIGxpbmUtaGVpZ2h0LlxyXG4kY21zLWhlYWRpbmctbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBQYXJhZ3JhcGhcclxuJGNtcy1wYXJhZ3JhcGgtbWFyZ2luOiAkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4gIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbiwgMSkgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1jbXMtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLWNvbG91cjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXN0cm9uZy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gQW5jaG9yXHJcbiRjbXMtYW5jaG9yLXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb250YWN0LXdlaWdodDogJGNtcy1hbmNob3Itd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIExpc3RzIFxyXG4kY21zLWxpc3QtbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLWxpc3QtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWxpc3QtcGFkZGluZzogMCAyNXB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZXNcclxuJGNtcy10YWJsZS1zaWJsaW5nLW1hcmdpbjogMTVweCAwICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWhlYWRlci1jb2x1bW4tcGFkZGluZzogMTBweCAxMHB4IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtY29sdW1uLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIEZpbmQgb3V0IG1vcmUgYnV0dG9uLlxyXG4kY21zLXJtLW1hcmdpbjogMjBweCAwIDAgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtY3VzdG9tLWljb246ICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1ybS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGNtcy1ybS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjbXMtcm0tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXJtLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwIFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXJtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjAgXHJcbikgIWRlZmF1bHQ7XHJcbiRjbS1ybS10ZXh0LWRlY29yYXRpb246IChcclxuICAgIGRlZmF1bHQ6IG5vbmUsXHJcbiAgICBob3ZlcjogaWYoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbiwgbm9uZSwgdW5kZXJsaW5lKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBCbG9ja3F1b3RlXHJcbiRjbXMtYmxvY2txdW90ZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNTBweCAzMHB4LFxyXG4gICAgbGFyZ2U6IDUwcHggNjBweFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1zaXplOiA0MHB4ICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gQ29kZSBibG9jay5cclxuJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEltYWdlXHJcbiRjbXMtaW1hZ2Utc3BhY2luZzogMTBweCBhdXRvICFkZWZhdWx0O1xyXG4vLyAtLS0gUmVhZCBNb3JlIC0tLSBcclxuJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5OiAwcHggIWRlZmF1bHQ7XHJcbiRjbXMtcm0tZmFkZS1vcGFjaXR5OiAkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLXJtLWZhZGUtb3BhY2l0eTogJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5ICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZhZGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mZWF0aGVyLWRlZmF1bHQ6IDUwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29udGVudCBsb2FkaW5nIG92ZXJsYXkgLS0tIFxyXG4kY29udGVudC1pbml0aWFsaXNpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU6IDUwcHggIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodDogNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFKQVggQmxvY2tlciAtLS0gXHJcbiRhamF4LXNwaW5uZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVpLWJsb2NrLWJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjMsIDAuNikgIWRlZmF1bHQ7XHJcblxyXG4vLyBHZW5lcmFsIEVycm9yIHN0eWxlcy5cclxuLy8gRXJyb3IgYmxvY2tzIGFyZSBnZW5lcmF0ZWQgYnkgdGhlIHNlcnZlciBhbmQgYXJlIHR5cGljYWxseSBwb3NpdGlvbmVkIGF0IHRoZSB0b3Agb3IgdGhlIGJvdHRvbSBvZiBhIGZvcm0uXHJcbiRlcnJvci1ibG9jay1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBBZHZhbmNlZCB2YWxpZGF0aW9uIGVycm9yIHN0eWxlcy5cclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWljb24tY29sb3VyOiByZ2JhKCRjb2xvdXIzLTYsIDAuNykgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLWludmFsaWQtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXZhbGlkLWNvbG91cjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEJ1dHRvbnMgLS0tIFxyXG4vLyBOZWVkcyBzb21lIHNvcnQgb2Yga25vY2sgYmFjayBmb3IgZ3JleWVkIG91dCBlZmZlY3QgdG8gd29yay5cclxuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNCAhZGVmYXVsdDs7XHJcbi8vIEFkZCB0byBiYXNrZXQgKCBpY29uIG9ubHkgKVxyXG4kYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoOiAzNXB4ICFkZWZhdWx0O1xyXG4kYWRkLXRvLWJhc2tldC1pY29uLWhlaWdodDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aCAhZGVmYXVsdDtcclxuJGFkZC10by1iYXNrZXQtaWNvbi1zaXplOiAyM3B4ICFkZWZhdWx0O1xyXG4vLyBTdGFuZGFyZCBidXR0b24gXHJcbiRiYXNrZXQtYnV0dG9uLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1ib3JkZXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLCBcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJGJhc2tldC1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4vLyBGYXZvdXJpdGVzXHJcbiRmYXZvdXJpdGVzLWljb24tc2l6ZTogJGFkZC10by1iYXNrZXQtaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24td2lkdGg6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGggIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1oZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuJGZhdm91cml0ZXNQcmVzZXRyMkljb25TaXplOiAxOHB4O1xyXG4vLyBNYWlsaW5nIEJ1dHRvbi5cclxuJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDogNDBweCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDVweCAwIDAsXHJcbiAgICBtZWRpdW06IDBcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLXBhZGRpbmc6IDAgNXB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7IFxyXG4kbWFpbGluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gSWYgd2FudCB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZSBidXR0b24gdG8gYXBwZWFyIGFzIHNlcGVyYXRlIGVsZW1lbnRzLlxyXG4kbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXI6IDFweCAxcHggMXB4IDAgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXI6IDFweCAwIDFweCAxcHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gLS0tIFByaW50IGVsZW1lbnRzIGJ1dHRvbiAtLS1cclxuLy8gQ29sb3Vycy4uLi4uXHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJvcmRlci1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW5zLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91cikgXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24taWNvbi1jb25maWc6IChcclxuICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKSxcclxuICBwb3NpdGlvbjogYmVmb3JlLFxyXG4gIG1hcmdpbjogMCAxMnB4IDAgMCxcclxuICBjb2xvdXI6ICRwcmludC1lbGVtZW5zLWJ1dHRvbi1pY29uLWNvbG91cixcclxuICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUmV2ZWFsIHBhc3N3b3JkIGJ1dHRvbiAtLS0gXHJcbiRyZXZlYWwtcGFzc3dvcmQtd2lkdGg6IDQ1cHggIWRlZmF1bHQ7XHJcbiRyZXZlYWwtaWNvbi1jb2xvdXI6IHJnYmEoJGNvbG91cjMtNiwgMC43KSAhZGVmYXVsdDtcclxuJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBHZW5lcmFsLlxyXG4kcXVhbnRpdHktbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDZweCAwLFxyXG4gICAgbGFyZ2U6IDZweCAxNXB4IDZweCAwXHJcbikgIWRlZmF1bHQ7IFxyXG4kcXVhbnRpdHktaW5wdXQtaGVpZ2h0OiA0NXB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDogMjVweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gRnJlZSBUZXh0IFF1YW50aXR5IFNlbGVjdG9yXHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg6IDUwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ6ICRxdWFudGl0eS1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoOiAoJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aCAtIDEwKSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kcXVhbnR0aXktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5jcmVtZW50LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtZGVjcmVtZW50LWNvbG91cjogJHF1YW50aXR5LWZyZWUtdGV4dC1pbmNyZW1lbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMlxyXG4gICAgKSxcclxuICAgIHByZXNldC0xOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjZcclxuICAgICksXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyM1xyXG4gICAgKSxcclxuICAgIHByZXNldC0xOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIzLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjMtMVxyXG4gICAgKSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gRHJvcGRvd24gUXVhbnRpdHkgU2VsZWN0b3JcclxuJHF1YW50aXR5LWRyb3Bkb3duLXdpZHRoOiA5MHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZHJvcGR3b24tcGFkZGluZy1sZWZ0OiAxMHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0OiAkcXVhbnRpdHktaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBDb250cm9sIHNsaWRlcnMgLS0tLS1cclxuLy8gUmFpbCBvcHRpb25zLlxyXG4kc2xpZGVyLXJhaWwtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyMSwgLjcpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdHJhbnNwYXJlbnQsXHJcbiAgICBob3ZlcjogdHJhbnNwYXJlbnQsXHJcbiAgICBhY3RpdmU6IHRyYW5zcGFyZW50XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc2xpZGVyLXJhbmdlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyBIYW5kbGUgb3B0aW9ucy5cclxuJHNsaWRlci1oYW5kbGUtZGltZW50aW9uczogMjJweCAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDsgXHJcbiRzbGlkZXItaGFuZGxlLWljb24tY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1czogMjVweDtcclxuLy8gLS0tIFN3ZWV0IEFsZXJ0cyAoIFN1Y2Nlc3MsIFdhcm5pbmcsIEFsZXJ0IEljb25zICkgLS0tIFxyXG4kc2EtZGltZW50aW9uczogODBweCAhZGVmYXVsdDtcclxuJHNhLW1hcmdpbjogMzBweCBhdXRvIDE1cHggIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0XHJcbiRzYS1hbGVydC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS1hbGVydC1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbi8vIFdhcm5pbmdcclxuJHNhLXdhcm5pbmctZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2Etd2FybmluZy1jb2xvdXI6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuLy8gU3VjY2Vzc1xyXG4kc2Etc3VjY2Vzcy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS1zdWNjZXNzLWNvbG91cjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRhYnMgLS0tXHJcbiR0YWJzLXRpdGxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMjVweCxcclxuICAgIGxhcmdlOiA0MHB4IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAyNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEFjY29yZGlvbnMgLS0tIFxyXG4vLyBUaXRsZS5cclxuJGFjY29yZGlvbnMtYXJyb3ctZm9udC1zaXplOiAkdGFicy10aXRsZS1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLWFycm93LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHRhYnMtdGl0bGUtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkdGFicy10aXRsZS1jb2xvdXIpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1mb250LXNpemU6ICR0YWJzLXRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtZm9udC13ZWlnaHQ6ICR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS10ZXh0LXRyYW5zZm9ybTogJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaGlnaGxpZ2h0OiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0zXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbnRlbnQuXHJcbiRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nOiAkdGFicy1jb250ZW50LXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zLCBwcm9tcHRzICYgY2FsbG91dHMgLS0tLS1cclxuLy8gVE9ETzogVGhpcyBuZWVkcyBzaW1wbGlmeWluZywgaXRzIGEgbWVzcyBkdWUgdG8gbXVsdGlwbGUgaXRlcmF0aW9ucy5cclxuJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuLy8gU3VjY2VzcyBidXR0b24uXHJcbiRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb25maXJtYXRpb24gLS0tIFxyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC13YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMTApICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE9uIHBhZ2Ugbm90aWZpY2F0aW9uIC0tLSBcclxuLy8gRGVmYXVsdHNcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQ6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCA5KSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaW5mb3JtYXRpb246IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGluZm9ybWF0aW9uOiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogJHN0YXR1cy1idXR0b24tY29tbW9uLXdlaWdodCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAzMHB4IDAsXHJcbiAgICBwcmVzZXQtMjogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogMzVweCAxMHB4LCAvLyBGdWxsIHNpemVcclxuICAgIHByZXNldC0yOiAxNXB4IDY1cHggLy8gTWluaWZpZWRcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcDogKFxyXG4gICAgc21hbGw6IDAgc3BhY2luZy12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZywgMiwgcHJlc2V0LTEpLFxyXG4gICAgbGFyZ2U6IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gU3BlY2lmaWNcclxuLy8gLS0tIE5vIGl0ZW1zIGZvdW5kIC0tLS0gXHJcbiRuby1pdGVtcy1mb3VuZC1tYXJnaW46ICgpICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtcGFkZGluZzogKCkgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtaWNvbi1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSW50ZXJuYWwgRXJyb3IgLS0tIFxyXG4kaW50ZXJuYWwtZXJyb3ItbWFyZ2luOiAkbm8taXRlbXMtZm91bmQtbWFyZ2luICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItcGFkZGluZzogKCkgIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1mb250LXNpemU6ICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1pY3Jvbi1zaXplOiAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplO1xyXG4vLyAtLS0gQ2FsbG91dHMgLS0tXHJcbiRub3RpZmljYXRpb24tY2FsbG91dC1mb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9tcHQgcG9wdXBzIC0tLSBcclxuJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZzogODBweCAhZGVmYXVsdDtcclxuLy8gLS0tIEdlbmVyYWwgTm90aWZpY2F0aW9ucyAoIHBpbm5lZCB0byB0aGUgYm90dG9tIG9mIHRoZSB3aW5kb3cgKVxyXG4kbm90aWZpY2F0aW9ucy1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEycHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gQmVjYXVzZSBvZiBUaWRpby4uLi4uXHJcbiRub3RpZmljYXRpb25zLXotaW5kZXg6IDk5OTk5OTk5OTkgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA3LjVweCAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHggMzBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUFdBIC0tLSBcclxuJG5vdGlmaWNhdGlvbnMtYXBwLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0zICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29va2llIFBvbGljeSAtLS0gXHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIzLTIsIDAuOSkgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcblxyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGhvdmVyLWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBkZWZhdWx0LWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24xLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLSBcclxuLy8gUmVzdHJpY3RlZCBjb250ZW50LlxyXG4kZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4vLyBJbnRlcm5hbCB1c2Ugb25seSBjb250ZW50LlxyXG4kZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seS1jb2xvdXI6ICRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBJbnRybyAtLS1cclxuJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KSAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24taW50cm8tYmFubmVyLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTGlzdCAtLS0gXHJcbiRkb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1wYWRkaW5nOiA3cHggc3BhY2luZy12YWx1ZSgkdGhlYWQtcHJlc2V0LTEsIDIsIHBhZGRpbmcpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEhlYWRlciBjb250YWluZXIgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luOiAzNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbnRlbnQgQ29udGFpbmVyIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lci13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQWRkaXRpb25hbCBMaW5rcyAtLS1cclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTogMXB4IHNvbGlkICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ29udGV4dCBNZW51IC0tLS0tXHJcbiRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXg6IDE5OTUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS1cclxuJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1zdGVwLWhlaWdodDogNjBweCAhZGVmYXVsdDtcclxuJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGU6IDU2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ29sbGVjdGlvbnMgLS0tLS0gXHJcblxyXG4vLyBUT0RPOiBUaGUgdGVybWlub2xvZ3kgbmVlZHMgdG8gYmUgY2hhbmdlZCBmcm9tIFwiIGJ4LSBcIiB0byBcIiBjb2xsZWN0aW9uLSBcIlxyXG4kYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM6IDE1cHggIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHk6IChcclxuICAgIGRlZmF1bHQ6IC41LFxyXG4gICAgaG92ZXI6IC44LFxyXG4gICAgYWN0aXZlOiAxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5OiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGRlZmF1bHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nOiAxMHB4IDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nLWJvdHRvbTogMjBweCAhZGVmYXVsdDsgLy8gTmVlZCB0byBhZGQgcGFkZGluZyBib3R0b20gaWYgYm9yZGVyLWJvdHRvbSBpcyBzZXQuXHJcbiRjb2xsZWN0aW9uLXNsaWRlLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aDogMCAwIDVweCAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jZWxsLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIEludmVydHMgd2hlbiBib3gtc2hhZG93IGlzIGFwcGxpZWQgZnJvbSB3aGVuIGhvdmVyIHN0YXRlIHRvIGRlZmF1bHQgc3RhdGUuXHJcbiRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNlbGwtcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ob3Zlci1ib3gtc2hhZG93LXN1cHByZXNzOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0OyAvLyBVc2VmdWwgaWYgd2UgbmVlZCBtb3JlIHNwYWNlIGFmdGVyIGEgc2VwZXJhdG9yLlxyXG4kY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXI6ICRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZzogKFxyXG4gICAgY29tcGFjdDogMTBweCxcclxuICAgIG5vbi1jb21wYWN0OiAxNXB4IDEwcHggLy8gZGVzY3JlYXNpbmcgdG8gMTBweCBMICsgUiB0byBrZWVwIGJ1eSBib3ggZnJvbSB3cmFwcGluZyBhdCA2IGNvbHVtbi5cclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogNXB4LFxyXG4gICAgbGFyZ2U6IDVweFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1ib3gtc2hhZG93LWludmVydDogJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBub25lLFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3czXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWZsZXgtZ3JvdzogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tZmxleC1iYXNpczogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWFsaWduLWl0ZW1zOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZzogbWFwLWdldCgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCBub24tY29tcGFjdCkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1ob3Zlci11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4kY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCBhdXRvIDAsXHJcbiAgICBsYXJnZTogMCAvLyBEb24ndCBzZXQgbWFyZ2luIGJvdHRvbSwgdGhpcyBpcyB0eXBpY2FsbHkgY29udHJvbCBieSBtb2R1bGUgb3Igcm93IG1hcmdpbnMuXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtaW1hZ2UtbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItbWFyZ2luLWJvdHRvbTogMzVweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLXBvc2l0aW9uLWJvdHRvbTogKCRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tIC0gMTUpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctaW1hZ2Utc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gSGF2aW5nIHRvIHJlc3RyaWN0IGltYWdlIHNpemVzIGR1ZSB0byBleHRlcm5hbCBkYXRhIGltYWdlcyBkb2VzIG5vdCBnbyB0aHJvdWdoIERpcGxvbWF0J3MgaW1hZ2UgbWFuYWdlbWVudCwgZG9udCBtZWRpdW0geWV0IGFzIHdlIGN1cnJlbnRseSBkb24ndCB1c2UgdGhpcyBicmVha3BvaW50IGluIG91ciBjb2xsZWN0aW9ucy5cclxuJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHk6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zaXplczogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICAxOiAxMjgwcHgsXHJcbiAgICAgICAgMjogNjMwcHgsXHJcbiAgICAgICAgMzogNDE4cHgsXHJcbiAgICAgICAgNDogMzEycHgsXHJcbiAgICAgICAgNTogMjQ5cHgsXHJcbiAgICAgICAgNjogMjA1cHgsXHJcbiAgICAgICAgNzogMTc1cHgsXHJcbiAgICAgICAgODogMTUzcHhcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIDE6ICRnbG9iYWwtd2lkdGgsXHJcbiAgICAgICAgMjogNjQ0cHgsXHJcbiAgICAgICAgMzogNDI0cHgsXHJcbiAgICAgICAgNDogMzE2cHgsXHJcbiAgICAgICAgNTogMjUwcHgsXHJcbiAgICAgICAgNjogMjA3cHgsIFxyXG4gICAgICAgIDc6IDE3NXB4LFxyXG4gICAgICAgIDg6IDE1MnB4XHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTAwJSxcclxuICAgIGhlaWdodDogMXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2Fyb3VzZWwgdHlwb2dyYXBoeSAtLS0gXHJcbiRjb2xsZWN0aW9uLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gY29sbGVjdGlvbi1lYmctY29sb3VyIG5vcm1hbGx5IGdldHMgc2V0IGJ5ICRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIgYnV0IGlmIHdlIHdhbnQgZWJnJ3MgdG8gYmUgYSBkaWZmZXJlbnQgY29sb3VyIHRoZW4gd2UgdXNlZCB0aGlzIG92ZXJyaWRlLlxyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24tZWJnLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6ICgkZGVmYXVsdC1saW5lLWhlaWdodCAtIC4zKSAhZGVmYXVsdDsgLy8gSXQgd2FzIGRlY2lkZWQgdGhhdCBjb2xsZWN0aW9uIGxpbmUtaGVpZ2h0cyBzaG91bGQgYmUgc2xpZ2h0bHkgdGlnaHRlci5cclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB0cmFuc3BhcmVudCxcclxuICAgIGhvdmVyOiB0cmFuc3BhcmVudCxcclxuICAgIGFjdGl2ZTogdHJhbnNwYXJlbnRcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyOiAkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyICFkZWZhdWx0O1xyXG4vLyRieC1kZXNjcmlwdGlvbi1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbi8vICRieC1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kYngtcHJpY2UtZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb2RlLWNvbG91cjogJGNvZGUtY29sb3VyICFkZWZhdWx0O1xyXG4vLyBMYWJlbCAmIFZhbHVlIHBhaXJzICggZXNzZW50aWFsbHkgc21hbGwgcGllY2VzIG9mIGRhdGEgKVxyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplOiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb2xsZWN0aW9uIGJ1eSBib3hlcyAtLS0gXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogZmxleC1zdGFydCxcclxuICAgIGxhcmdlOiBmbGV4LXN0YXJ0XHJcbikgIWRlZmF1bHQ7XHJcbi8vc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZzogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgcmVwbGFjZXMgdGhlIGFib3ZlLlxyXG4kY29sbGVjdGlvbi1idXktYm94LXBhZGRpbmctdG9wOiAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbGxlY3Rpb24gYnV0dG9ucyAtLS1cclxuJGNvbGxlY3Rpb24tYnV0dG9uLXdpZHRoOiA2NiUgIWRlZmF1bHQ7XHJcbi8vIE1hcmdpbiB0b3AgbXVzdCBiZSBzZXQgdG8gYXV0byB0byBhc3Npc3QgZXF1YWxpc2luZyB0aGUgYnV0dG9ucyBvbiBlYWNoIHJvdy5cclxuJGNvbGxlY3Rpb24tYnV0dG9ucy1tYXJnaW46IGF1dG8gYXV0byBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZywgMSkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2xpZGVzIHN0eWxlcyAtLS0gXHJcbi8vIENoYW5nZ2luZyB0byB0cmFuc3BhcmVudCB0byBhbGxvdyB1c2Ugb2ZmIHJvdywgbW9kdWxlICYgY29udGVudCBiYWNrZ3JvdW5kcy5cclxuLy8gVGhpcyB2YXJpYWJsZSBpcyBubyBsb25nZXIgdXNlZCBhcyB3ZSBuZWVkZWQgbW9yZSBmbGV4aWJpbGl0eSBmb3IgbW9kdWxlIGNvbnRlbnQgYmFja2dyb3VuZHMsIGhhdmUgaW50cm9kdWNlZCAkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIgdG8gaGFuZGxlIHByb2R1Y3QgY29sbGVjdGlvbnMgYXMgdGhleSBuZWVkIHRvIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG91ciAoIGkuZSB3aGl0ZSApIGR1ZSB0byB0aGUgY29udGVudCB0aGF0IGlzIGJlaW5nIGRpc3BsYXllZC5cclxuJGJ4LXNsaWRlLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYXJvdXNlbCBDb250cm9scyAtLS1cclxuLy8gQ29udHJvbHNcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyOiAxMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uOiAnYm90dG9tLXJpZ2h0JyAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6ICRib3hTaGFkb3cyLFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3cyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBhZGRpbmcgdXNlZCBmb3IgYWxpZ25tZW50IGlmIHVzaW5nIGN1c3RvbSBpY29ucy5cclxuJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDQ1cHgsXHJcbiAgICBub3JtYWw6IDMwcHgsXHJcbiAgICBsYXJnZTogNzVweFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTRweCxcclxuICAgIGxhcmdlOiAxOHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLXNoYWRvdzogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbi8vIER1ZSB0byB1c2luZyB2YXJpb3VzIGRpZmZlcmVudCBmb250IGZhbWlsaWVzIGZvciBnbHlwaHMgcGxhY2VtZW50IG9mIHRoZSBnbHl0aCBpbiBpdHMgY2FudmFzIGNhbiB2YXJ5IHNvIGluIHNvbWUgY2FzZXMgd2UgbmVlZCB0byBhZGQgYSBzaGltIHRvIGNlbnRyYWxpc2UgaXQgd2l0aGluIHRoZSBidXR0b24uXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbTogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VwZXJhdG9ycyAtLS1cclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxcHgsXHJcbiAgICBoZWlnaHQ6IDgwJVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3JzLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEFYSVMgVG9vbHRpcCAtLS0tLSBcclxuJHRvb2x0aXAtY29udGVudC1jb250YWluZXItd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LXRpcC1zaXplOiA5ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGg6IDIgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYm9yZGVyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7IC8vIEZvciB3YXJuaW5nICYgYWxlcnQuXHJcbiR0b29sdGlwLWNvbnRlbnQtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHRvb2x0aXAtaW5mby1pY29uLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbiR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjMtNiwgMC43KSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEhlYWRlciAtLS0tLVxyXG4kaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UtcG9zaXRpb246IHRvcCByaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBSZXNwb25zaXZlIC0tLSBcclxuLy8gV2hpY2ggY29tcG9uZW50cyBpbiBtb2JpbGUgZG9uJ3QgZ2V0IHN1cHByZXNzZWQgaW5zaWRlIG9mIHRoZSBoZWFkZXItY29udGVudC0qIGNvbnRhaW5lcnMuXHJcbiRoZWFkZXItY29tcG9uZW50LWRpc3BsYXktbGlzdDogXCIubG9nby1jb250YWluZXJcIiwgXCIjYWN0aW9uLWJhci1jb250YWluZXJcIiwgXCIuaGVhZGVyLXNlYXJjaC1jb250YWluZXJcIiwgXCIuaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZVwiICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ6IDgwdmggIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLW1lbnUtei1pbmRleDogMjAwMCAhZGVmYXVsdDtcclxuJGhlYWRpbmctZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNDcuNyUgMjguNSUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbWVkaXVtOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplOiAzNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAyLjVweCxcclxuICAgIG1lZGl1bTogMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZTogMTgwZGVnICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheTogKFxyXG4gICAgbWFpbDogdHJ1ZSxcclxuICAgIHRlbGVwaG9uZTogdHJ1ZSxcclxuICAgIHNlYXJjaDogdHJ1ZSxcclxuICAgIGJhc2tldDogdHJ1ZSxcclxuICAgIGhhbWJ1cmdlcjogdHJ1ZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS13ZWlnaHQ6IDJweCAhZGVmYXVsdDtcclxuLy8gJGhlYWRlci1uYXYtcmlnaHQtd2lkdGg6IDM3MHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIHRvZ2dsZSBiYXIgIFsgRGVza3RvcCBdIC0tLSBcclxuJGhlYWRlci10b2dnbGUtYmFyLWdhcDogMCAxMi41cHggIWRlZmF1bHQ7XHJcbi8vIEJ1dHRvbnNcclxuJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZzogMy41cHggNy43NXB4O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHM6IChcclxuICAgIHNlYXJjaDogNDkwcHgsICAgIFxyXG4gICAgYWN0aW9uLWJhcjogMjUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBBY2NvdW50IEJ1dHRvbiAtLS1cclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1taW4taGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZyxcclxuICAgIG1pbmlmaWVkOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWd1dHRlcjogMTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXNpemU6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjNcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgVXBwZXIgLS0tXHJcbiRoZWFkZXItdXBwZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29uLW1hcmdpbjogMCAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29uLXBhZGRpbmc6IDFweCA1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tc2l6ZTogJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZSAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLWxpbmUtaGVpZ2h0OiAyMnB4ICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tcm90YXRlOiAkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUgIWRlZmF1bHQ7XHJcbiRtZW51cy1lbWFpbC1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy1lbWFpbC1pY29uLXNpemU6ICRoZWFkaW5nLXVwcGVyLWljb25zLXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlci13aWR0aDogMCAwIDFweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXBhZGRpbmc6IDcuNXB4IDE1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0gTWlkZGxlIC0tLVxyXG4kaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMzQlLFxyXG4gICAgbWVkaXVtOiBub25lLFxyXG4gICAgbGFyZ2U6ICRnbG9iYWwtd2lkdGhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4vLyBIZWFkZXIgY29udGVudCBsZWZ0LlxyXG4vLyBEZXByZWNhdGVkIG1vdmluZyB0byByZWxhdGl2ZSBsZW5ndGhcclxuLy8gJGxvZ28tY29udGFpbmVyLXdpZHRoOiAoXHJcbi8vICAgICBsYXJnZTogMzEwcHhcclxuLy8gKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMjAwcHgsXHJcbiAgICBtaW5pZmllZDogMTA1cHgsXHJcbiAgICBzbWFsbDogNjVweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNjVweCxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogNXB4IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28taW1hZ2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsIFxyXG4gICAgbGFyZ2U6IDI1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsOiBmYWxzZSAhZGVmYXVsdDtcclxuJGxvZ28tY29udGFpbmVyLWp1c3RpZnk6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGxvZ28tY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMTBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcclxuXHJcbiRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnM6IChcclxuICAgIGxhcmdlOiAxZnIgI3soJGdsb2JhbC13aWR0aCAvIDMpfSxcclxuICAgIHh4bGFyZ2U6IDFmciAjeygkZ2xvYmFsLXdpZHRoIC8gMil9XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtdW5kZXJsaW5lLWhlaWdodDogMnB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LW1hcmdpbjogYXV0byAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1tYXJnaW46ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWl0ZW0tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZzogMTVweCAxMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEhlYWRlciBjb250ZW50IGNlbnRlci5cclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBIZWFkZXIgY29udGVudCByaWdodC5cclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zOiAoXHJcbiAgICBsYXJnZTogMWZyLFxyXG4gICAgeGxhcmdlOiAxZnIsXHJcbiAgICB4eGxhcmdlOiAjeygkZ2xvYmFsLXdpZHRoIC8gMil9IDFmclxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZTogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1hbmNob3ItcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZyAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTbyB0aGUgY29udGVudCBmaXRzIHRpZ2h0IGFnYWluc3QgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1zdXBwcmVzcy1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBMb3dlciAtLS1cclxuJGhlYWRlci1tZWdhLW1lbnUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCwgbGFyZ2UpLFxyXG4gICAgeGxhcmdlOiBudWxsLFxyXG4gICAgeHhsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxcHgsXHJcbiAgICBoZWlnaHQ6IDEwMCVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb3dlci1pdGVtLWdyb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvd2VyLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbi8vJGhlYWRlci1sb3dlci1pdGVtLXBhZGRpbmc6IDE1cHggMTVweCAhZGVmYXVsdDtcclxuLy8gTWVnYSBNZW51XHJcbiRtZWdhLW1lbnUtYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ib3JkZXItd2lkdGg6IDFweCAwIDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtYm9yZGVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbW9iaWxlLW1heC1oZWlnaHQ6IDgwdmggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbW9iaWxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbi8vIE1lZ2EgbWVudSBpY29ucy5cclxuJG1lZ2EtbWVudS1zaG93LWljb25zOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1zaG93LWljb25zLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDhweCAwIDhweCxcclxuICAgIGxhcmdlOiAwIDhweCAwIDAgXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1mb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhciAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDogNzB2aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTcuNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHggNDdweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3c6IDBweCAyMHB4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gTWVnYSBtZW51IEltYWdlIC0tLVxyXG4kbWVnYS1tZW51LWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtZGVza3RvcC1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9uczogMjAwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBNb2JpbGUgTmF2aWdhdGlvbiB0ZXh0ICggSGVhZGVyICkgLS0tXHJcbiRtZW51LW5hdi10ZXh0LW1hcmdpbjogMzBweCAwIDQwcHggIWRlZmF1bHQ7XHJcbi8vIExldmVsIDFcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLWZpcnN0LWNoaWxkLW1hcmdpbjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZyAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1czogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemU6IChcclxuICAgIHNtYWxsOiAyMCxcclxuICAgIGxhcmdlOiAxNVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA3MDAsXHJcbiAgICBsYXJnZTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDE1cHggMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0LXNtYWxsOiAkY29sb3VyNCxcclxuICAgIGRlZmF1bHQtbGFyZ2U6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGxhcmdlLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciksIC8vIHlvdSBtYXkgZ2V0IGlzc3VlcyBoZXJlIGZvciBtb2JpbGUuXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZTogKFxyXG4gICAgc21hbGw6IDM1cHgsXHJcbiAgICBsYXJnZTogNDVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWRlc2NyaXB0aW9uLXBhZGRpbmc6IDEwcHggMCAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAyXHJcbiRtZWdhLW1lbnUtbWF4LWNvbHVtbnM6IDggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24td2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tY29udGVudC1jb250YWluZXI6IGlmKCRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCwgJGdsb2JhbC13aWR0aCwgMTAwJSkgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAyMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LW1lbnUtZHJvcGRvd24tYm9yZGVyLWNvbG91cjogJGNvbG91cjQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxMHB4IDAgNXB4IDVweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTcsXHJcbiAgICBsYXJnZTogMTVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA3MDAsXHJcbiAgICBsYXJnZTogODAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMy5cclxuJG1lZ2EtbWVudS1jaGlsZC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLXNpemU6IChcclxuICAgIHNtYWxsOiAxNyxcclxuICAgIGxhcmdlOiAxNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNDAwLFxyXG4gICAgbGFyZ2U6IDQwMFxyXG4pICFkZWZhdWx0OyBcclxuJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAkY29sb3VyMixcclxuICAgIGxhcmdlLWRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgbGFyZ2UtaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgbGFyZ2UtYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWNoaWxkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAyKSA1cHggc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCA0KSxcclxuICAgIGxhcmdlOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMiwgbGFyZ2UpIDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCA0LCBsYXJnZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gVmlldyBtb3JlLlxyXG5cclxuLy8gQWNjb3VudCBNZW51LlxyXG4kYWNjb3VudC1tZW51LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA1NTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1tZW51LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBHZXRzIHVzZWQgaW4gaGVhZGVyIHZhcmlhbnQgM1xyXG4kYWNjb3VudC1tZW51LWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuJG1lbnUtbGV2ZWwxLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMi1kZWZhdWx0LW1vYmlsZS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtZGVmYXVsdC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBDb21tb24gbWVudSBzdHlsZXNcclxuJG1vYmlsZS1tZW51LWZvb3Rlci1wYWRkaW5nLWJvdHRvbTogNTBweCAhZGVmYXVsdDsgXHJcbiRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLXNpemU6IDZweCAhZGVmYXVsdDtcclxuJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3RlcjogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgZm9yIGNvbXBhY3QgaGVhZGVyIGZvciBheGlzIHBvcnRhbC5cclxuLy8gJGhlYWRlci1jb250ZW50LW1pbi1oZWlnaHQ6IDE0NXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RhdHVzIG1lc3NhZ2VzIC0tLSBcclxuJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtc2VwZXJhdG9yLWNvbG91cjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gVGFnbGluZSAtLS1cclxuJGhlYWRlci10YWdsaW5lLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxvd2VyLXN1cHByZXNzOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nOiA4cHggMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuLy8gLS0tIFNlYXJjaCAtLS1cclxuLy8gJGhlYWRlci1zZWFyY2gtd2lkdGg6IDYyMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3c6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0OyBcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEFzIHdlIG1pZ2h0IHdhbnQgdG8gc2V0IHRoZSBzaGFkb3cgb24gdGhlIGNvbnRhaW5lciBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgaW5wdXRzLlxyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93OiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pY29uLXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXNlYXJjaC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0IDQwcHggMCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci13aWR0aC1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ci1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1idXR0b24taWNvbi1jb2xvdXItb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBXZWxjb21lIFRleHQgLS0tIFxyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgbGFyZ2U6IGZsZXgtZW5kLFxyXG4gICAgeHhsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtdGV4dC1hbGlnbjogcmlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBBdXRvY29tcGxldGUgKCBTZWFyY2ggKVxyXG4kYWMtcmVzdWx0LXBpbi10by10b3A6IHRydWUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbjogKFxyXG4gICAgdG9wOiBpZihub3QgJGFjLXJlc3VsdC1waW4tdG8tdG9wLCAtI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZywgMSwgbGFyZ2UpfSwgbnVsbCksXHJcbiAgICByaWdodDogbnVsbCxcclxuICAgIGxlZnQ6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtd2lkdGg6IDcwMHB4ICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1vZmZzZXQ6IC0je3NwYWNpbmctdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nLCA0LCBsYXJnZSl9ICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1ib3gtc2hhZG93OiAkYm94U2hhZG93MSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtcGFkZGluZzogKFxyXG4gICAgdG9wOiAxMTBweCxcclxuICAgIHNpZGU6IDAsXHJcbiAgICBib3R0b206IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLW1hcmdpbjogMTBweCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS10ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLXBhZGRpbmc6IDVweCAxNXB4ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItd2lkdGg6IDAgMCAxcHggMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1mb250LXNpemU6ICgkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tbGlzdC1wYWRkaW5nOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWNvbnRlbnQtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXBhZGRpbmc6IDAgMjBweCAwIDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLW1hcmdpbjogMCAwIDVweCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0taW1hZ2UtbWFyZ2luOiAwIDEwcHggMCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogNTBweCxcclxuICAgIGhlaWdodDogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXNuaXBwZXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gTmF2aWdhdGlvbiAtLS1cclxuLy8gSG9tZSBCdXR0b25cclxuJGhvbWUtYnV0dG9uLXdpZHRoOiBmaXQtY29udGVudCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tc3VwcHJlc3MtYmFja2dyb3VuZC1jb2xvdXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLXBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgbGFyZ2UpICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zOiAoXHJcbiAgICB3aWR0aDogMnB4LFxyXG4gICAgaGVpZ2h0OiA4MCVcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTdGlja3kgLS0tIFxyXG4kaGVhZGVyLW1pbmlmaWVkLWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eTogMSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IFByZXZpZXcgLS0tIFxyXG4kZGVza3RvcC1zdW1tYXJ5LXdpZHRoOiAyNTVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWhvdmVyLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA0MDAsXHJcbiAgICBob3ZlcjogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlvdXMtaWNvbi13aWR0aDogNzJweCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiA5cHggMjNweCxcclxuICAgIG1pbmlmaWVkOiA0cHggMjNweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXIxLFxyXG4gICAgYWxlcnQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0OyAvLyBGb3Igd2FybmluZyAmIGFsZXJ0IHN0YXRlcy5cclxuJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1hbGlnbi1pdGVtczogY2VudGVyICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhbGwgdG8gYWN0aW9uIC0tLSBcclxuJGhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXItaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kYmFza2V0LXByZXZpZXctaWNvbi1mb250LXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBCcmVhZGNydW1icyAmIFZhdCBTd2l0Y2hlciAtLS0gXHJcbiRoZWFkZXItbm8tYnJlYWtjcnVtYnMtdG9nZ2xlLXN3aXRjaC1zaGltLW9uLWhvbWVwYWdlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW06IDcuNXB4ICFkZWZhdWx0OyAvLyB0cnkgYW5kIGtlZXAgaW4gc3luYyB3aXRoIG1vZHVsZSBtYXJnaW4gdG9wICsgYm90dG9tICggaS5lIGhhbGYgJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiApLlxyXG4kYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiA4cHggMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCcmVhZGNydW1icyAtLS1cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYWN0aXZlLWZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTogMTBweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1tYXJnaW46IDAgNXB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW06IDFweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXVwcGVyY2FzZTogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVkFUIFN3aXRjaGVyIC0tLSBcclxuJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsOiBmYWxzZSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA0MDAsXHJcbiAgICBhY3RpdmU6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9uczogMzRweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiAkY29sb3VyMCxcclxuICAgIGluY2x1c2l2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiAkY29sb3VyMy0yLFxyXG4gICAgaW5jbHVzaXZlOiAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWdhcDogMCAxMHB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAzKSxcclxuICAgIGluY2x1c2l2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAzKVxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFVTUCBCYXIgLS0tIFxyXG4kdXNwLW9yZGVyLWludmVydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtZ3V0dGVyOiAxMnB4ICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLXBhZGRpbmc6IDZweCAhZGVmYXVsdDtcclxuJHVzcC1iYXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAwIDcuNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtcGFkZGluZzogMTVweCA1cHggIWRlZmF1bHQ7XHJcbiR1c3AtYmFja2dyb3VuZC1mdWxsLXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1ob3Zlci1vcGFjaXR5OiAuNiAhZGVmYXVsdDtcclxuJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiBkYXJrZW4oJGNvbG91cjMsIDEwJSksXHJcbiAgICBhY3RpdmU6IGRhcmtlbigkY29sb3VyMywgMjAlKVxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiR1c3AtZ3V0dGVyOiAwICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3ItZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDJweCxcclxuICAgIGhlaWdodDogMjhweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNwLWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHVzcC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR1c3AtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1jdXN0b20taWNvbjogJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVzcC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiR1c3AtYm9yZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIE1vZHVsZXMgLS0tLS0gXHJcbiRtb2R1bGUtaDEtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG1vZHVsZS1oMi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbW9kdWxlLWhlYWRpbmctYm9yZGVyOiAwcHggc29saWQgJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcclxuLy8gLS0tIFJvdyBCYWNrZ3JvdW5kIC0tLVxyXG4kbW9kdWxlcy1yb3ctcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNDVweCAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kbW9kdWxlcy1yb3ctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSb3cgQ29udGFpbmVyIC0tLSBcclxuJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMCksXHJcbiAgICBsYXJnZTogKDQ1cHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLXJvdy1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNb2R1bGUgQ29udGFpbmVyIC0tLVxyXG4kbW9kdWxlcy1tb2R1bGUtYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiAxMHB4LFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgyLjVweCwgYXV0byksXHJcbiAgICBsYXJnZTogKDMwcHgsIGF1dG8pXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNb2R1bGUgQ29udGVudCBDb250YWluZXIgLS0tXHJcbiRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhZ2UgSGVhZGluZyAtLS0gXHJcbiRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEVCRyAtLS1cclxuJG1vZHVsZXMtZWJnLXBhcmFncmFwaC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBtb2R1bGUocykgYXNzb2NpYXRlZCBiYW5uZXIgaW1hZ2UgbWFuYWdlbWVudCAtLS1cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdDogY292ZXIgIWRlZmF1bHQ7IC8vIHRoaXMgY29udHJvbHMgdGhlIGxhcmdlIGJyZWFrcG9pbnQuXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0OiAoXHJcbiAgICBldmVudHM6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBuZXdzOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgYmxvZzogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIGVudHJ5OiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0OiAoXHJcbiAgICBldmVudHM6IDU1MHB4LFxyXG4gICAgbmV3czogMzc1cHgsXHJcbiAgICBibG9nOiA0NzVweCxcclxuICAgIGVudHJ5OiAzODBweCAvLyBJZiBsZWZ0IG9yIHJpZ2h0IGFsaWduZWQuXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQmxvZyAtLS0tIFxyXG4kbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2cteS1ndXR0ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICgwKSxcclxuICAgIGxhcmdlOiAoMClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1MHB4IDEwcHgsXHJcbiAgICBsYXJnZTogNTBweCA3LjUlXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjogdW5zZXQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTmV3cyAtLS1cclxuJG1vZHVsZXMtbmV3cy15LWd1dHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ld3MtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogKDI1cHgpLFxyXG4gICAgbGFyZ2U6ICg0MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXctaGVhZGluZy1tYXJnaW46IDAgMCAxNXB4ICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRXZlbnRzIC0tLSBcclxuJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtZXZlbnRzLWdhcDogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEdyaWQgY29sbGVjdGlvbiAtLS0gXHJcbi8vIENvbGxlY3Rpb24gaXRlbVxyXG4kbW9kdWxlcy1ncmlkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDcuNXB4LFxyXG4gICAgbWVkaXVtOiAxNXB4LCAvLyBDaGFuZ2luZyB0byAxNXB4IHRvIG1hdGNoIGZhbGxiYWNrIGd1dHRlci5cclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEd1dHRlciBmYWxsYmFjayBpZiBDU1MgdmFyaWFibGUgaXMgbm90IGRlZmluZWQsIGkuZSBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eSBvZiBvbGQgbW9kdWxlcy5cclxuJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2s6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkdW06IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgTW9kdWxlcyAtLS0gXHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1hcmdpbjogYXV0byAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDogMCAwIDUwJSAhZGVmYXVsdDtcclxuLy8gVXNlZCBmb3IgaW1hZ2UgcmlnaHQgKyBsZWZ0LlxyXG4kY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDIwcHgsIDI1cHgpLFxyXG4gICAgbGFyZ2U6ICg0NXB4LCA1MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodDogKFxyXG4gICAgc21hbGw6IDI1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgYXMgYSBvdmVycmlkZSBmb3IgbWl4aW4gY21zLWhlYWRpbmdzIGlmIG5lZWRlZC5cclxuJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uOiAoXHJcbiAgICBibG9nOiBmYWxzZSxcclxuICAgIGV2ZW50czogZmFsc2UsXHJcbiAgICBuZXdzOiBmYWxzZVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1zaG93LWJvcmRlcjogKFxyXG4gICAgYmxvZzogbnVsbCxcclxuICAgIGV2ZW50czogbnVsbCxcclxuICAgIG5ld3M6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoOiAoXHJcbiAgICBibG9nOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbixcclxuICAgIG5ld3M6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uLFxyXG4gICAgZXZlbnRzOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vblxyXG4pO1xyXG4kY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuLy8gVXNlZCBmb3IgY21zIG1vZHVsZXMgdGhhdCBhcmUgbm90IG9mIHR5cGUgZW50cnkgaS5lIGJsb2csIG5ld3MsIGV2ZW50LlxyXG4kY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIFN1YnNpZGlhcnkgLS0tIFxyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1wYWRkaW5nOiAxOHB4ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXNpemU6IHJlbS1jYWwoMjIpICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENNUyBQYWdlcyAtLS0tLSBcclxuLy8gLS0tIENvbW1vbiBTdHlsZXMgLS0tIFxyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbTogMzBweCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI6ICRjb2xvdXIzLTcgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC1zaXplOiAyMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1jb250ZW50LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRzaG93LWNtcy1iYWNrZ3JvdW5kOiAoXHJcbiAgICBibG9nOiBmYWxzZSxcclxuICAgIG5ld3M6IGZhbHNlLFxyXG4gICAgZXZlbnQ6IGZhbHNlLFxyXG4gICAgaW5mb3JtYXRpb246IHRydWVcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENNUyBUeXBlIHNwZWNpZmljICggYmxvZywgZXZlbnRzLCBuZXdzLCBldGMgKSAtLS1cclxuJG5ld3MtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgICFkZWZhdWx0O1xyXG4kYmxvZy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuICkgIWRlZmF1bHQ7XHJcbiRldmVudHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kaW5mb3JtYXRpb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVGFibGUgRGlzcGxheSAtLS0gXHJcbiRjbXMtdGFibGUtcm93LXBhZGRpbmc6IChcclxuICAgIHRvcC1ib3R0b206IDQwcHgsIFxyXG4gICAgcmlnaHQtbGVmdDogMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBcnRpY2xlIFBhZ2VzIC0tLVxyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsIDEpIDE1cHggc3BhY2luZy12YWx1ZSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAzKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsIFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZTogMjZweCAhZGVmYXVsdDtcclxuLy8gRGVwZW5kaW5nIG9uIHRoZSBpY29uIC8gaWNvbi1mYW1pbHkgeW91J3JlIHVzaW5nIHlvdSBtYXkgbmVlZCB0byBwcm92aWRlIGEgc2hpbSB0byBwZXJmZWN0bHkgY2VudGVyYWxpc2UuXHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltOiAwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFN0b2NrIC0tLS0tIFxyXG4vLyAtLS0gUHJpY2UgLS0tIFxyXG4kcHJpY2UtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kcHJpY2UtdmF0LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IGdldCByaWQgb2YgdGhpcyBmb3IgY2VsbCBhbGlnbm1lbnQuXHJcbiRwcmljZS10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RvY2sgSW5kaWNhdG9ycyAtLS0gXHJcbiRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1pY29uLXNpemU6IChcclxuICAgIHNvaC0wOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplLFxyXG4gICAgc29oLTE6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemUsXHJcbiAgICBzb2gtMjogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nOiAwIDVweCAwIDAgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHNvaC0yLWljb24tY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kc29oLTAtaWNvbi1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRzb2gtMC1sZXZlbC1jb2xvdXI6ICRzb2gtMC1pY29uLWNvbG91ciAhZGVmYXVsdDtcclxuJHNvaC0xLWljb24tY29sb3VyOiAkY29sb3VyNi0zICFkZWZhdWx0O1xyXG4kc29oLTEtbGV2ZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRzb2gtMC1pY29uLWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvaC1ub3RpZmljYXRpb24tc3RhdHVzLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHNvaC1jb2xsZWN0aW9uLW9ubHktY3VzdG9tLWljb246IGZhbHNlICFkZWZhdWx0O1xyXG4kc29oLWNvbGxlY3Rpb24tb25seS1pY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbWFnZXMgLS0tLS1cclxuLy8gQWxsIGltYWdlcyBzaG91bGQgYmUgd3JhcHBlZCBpbiBhIC5pbWFnZSBjb250YWluZXIsIGZvciBwbmcncyB0aGV5IG1heSBoYXZlIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCB3aGljaCBvZnRlbiBkb2Vzbid0IHdvcmsgaW4gdGhlIGNvbnRleHQgb2YgdGFibGVzIHdoZXJlIHdlIGhhdmUgb2RkL2V2ZW4gY29sb3VyaW5nIG9uIHJvd3MsIHNvIGFzIGEgZ2VuZXJpYWwgcnVsZSBhZGRpbmcgYSB3aGl0ZSBiYWNrZ3JvdW5kIHRvIGFsbCBpbWFnZXMuXHJcbiRpbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZWRpYS1hc3BlY3QtcmF0aW9zOiAoXHJcbiAgICBcInByb2R1Y3RcIjogKFxyXG4gICAgICAgIFwid2lkdGhcIjogMSxcclxuICAgICAgICBcImhlaWdodFwiOiAxXHJcbiAgICApLFxyXG4gICAgXCJlYmdcIjogKFxyXG4gICAgICAgIFwid2lkdGhcIjogMSxcclxuICAgICAgICBcImhlaWdodFwiOiAxXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpbzogbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBwcm9kdWN0LCB3aWR0aCkgKyBcIi9cIiArIG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgcHJvZHVjdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGViZy1tZWRpYS1hc3BlY3QtcmF0aW86IG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgZWJnLCB3aWR0aCkgKyBcIi9cIiArIG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgZWJnLCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKSAvIHZhcigtLW1lZGlhLWhlaWdodCwgYXV0bykgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbWFnZSBvdmVybGF5cyAoIHNhc2hlcyApIC0tLSAtLVxyXG4kaW1hZ2Utb3ZlcmxheS11cmw6ICcvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvJztcclxuJGltYWdlLW92ZXJsYXktcG9zaXRpb246IGNlbnRlciAhZGVmYXVsdDtcclxuLy8gLS0tIEdyb3VwIG92ZXJsYXlzICggRUJHJ3MgKSAtLS1cclxuJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyOiAoXHJcbiAgICBzcGVjaWFsLW9mZmVyOiA1LFxyXG4gICAgZmVhdHVyZWQtaXRlbTogNCxcclxuICAgIGJlc3Qtc2VsbGVyOiAzXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdG9jayBPdmVybGF5cyAoIHNpbmdsZSBwcm9kdWN0ICYgc3RvY2tsaW5lICkgLS0tXHJcbiRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyOiAoXHJcbiAgICBzcGVjaWFsLW9mZmVyOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlciksXHJcbiAgICBmZWF0dXJlZC1pdGVtOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSksXHJcbiAgICBiZXN0LXNlbGxlcjogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKSxcclxuICAgIHByZXZpb3VzbHktcHVyY2hhc2VkOiA2LFxyXG4gICAgY29udHJhY3QtaXRlbTogN1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gVmlkZW8gUGxheWVyIC0tLS0tXHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMsXHJcbiAgICBob3ZlcjogLS13aGl0ZS1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiBob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGRlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBDYXRlZ29yeSAtLS0tLS1cclxuJGNhdGVnb3J5LWdyb3VwLWhvdmVyLXNjYWxlOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUHJvZHVjdCBMaXN0IC0tLS0tLSBcclxuLy8gLS0tIEdlbmVyYWwgTGlzdGluZyBTdHlsZXMgLS0tIFxyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG4kdmlld0ljb25EaW1lbnRpb25zOiAxNnB4ICFkZWZhdWx0O1xyXG4kbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9uczogMTZweCAhZGVmYXVsdDtcclxuLy8gU2VjdGlvbiBoZWFkaW5ncyAoIHJlY29tbWVuZGVkIHJlc3VsdHMgLyBwcmludGVyIHdpemFyZCApXHJcbiRzZWN0aW9uLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1ib3JkZXItY29sb3VyOiAkaGVhZGluZy0xLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gUmVjb21tZW5kZWQgcmVzdWx0cy5cclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luOiAoXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1pdGVtLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIEl0ZW1zIGZvdW5kLlxyXG4kc29ydGluZy1pdGVtcy1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLWl0ZW1zLWZvdW5kLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcblxyXG4vLyBEb3dubG9hZCBvcHRpb24uXHJcbiRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXA6IDEwcHggIWRlZmF1bHQ7IFxyXG4kc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoOiAoJGNvbW1vbi1ydWxlLXdlaWdodCAqIDIpICFkZWZhdWx0O1xyXG5cclxuLy8gU29ydGluZyBvcHRpb25zIHNldHRpbmdzLlxyXG4vLyBDb250YWluZXIgc2V0dGluZ3MuXHJcbiRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMTVweCAvLyByZWR1Y2luZyBmcm9tIDEwcHggMjBweCB0byAxMHB4IDE1cHggdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIGEgdmFyaXR5IG9mIGNvbnRyb2xzLlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gT3B0aW9ucyBzZXR0aW5ncy5cclxuJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ6IDEzcHggIWRlZmF1bHQ7IFxyXG4kcGFnaW5hdGlvbi1sYWJlbC1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcclxuJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKSxcclxuICAgIGhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXdoaXRlLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXA6IChcclxuICAgIHNtYWxsOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDogMjE1cHggIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlOiAoXHJcbiAgICBjb3VudDogMixcclxuICAgIGZpbHRlci10b2dnbGU6IDEsXHJcbiAgICBjYWxsLXNlYXJjaDogMyxcclxuICAgIHNvcnQtYnk6IDUsXHJcbiAgICB2aWV3OiA2LFxyXG4gICAgcGVyLXBhZ2U6IDQsXHJcbiAgICBwYWdpbmF0aW9uOiA3XHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcDogKFxyXG4gICAgY291bnQ6IDEsXHJcbiAgICBmaWx0ZXItdG9nZ2xlOiAyLFxyXG4gICAgY2FsbC1zZWFyY2g6IDMsXHJcbiAgICBzb3J0LWJ5OiA0LFxyXG4gICAgdmlldzogNSxcclxuICAgIHBlci1wYWdlOiA2LFxyXG4gICAgcGFnaW5hdGlvbjogN1xyXG4pICFkZWZhdWx0O1xyXG4kaXRlbXMtcGVyLWxpc3Qtd2lkdGg6IChcclxuICAgIHNtYWxsOiA1MCUsXHJcbiAgICBsYXJnZTogMTclXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbTogKFxyXG4gICAgbGFyZ2U6IDEwLjI2cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IGxpc3Qgc2V0dGluZ3MgLS0tXHJcbiRwcm9kdWN0LWxpc3QtY29udGVudC1tYXJnaW4tbGVmdDogNTNweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1zb3J0LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBQcm9kdWN0IGxpc3QgaXRlbSBzZXR0aW5ncy5cclxuJHByb2R1Y3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c6IHRydWUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tY29sb3VyOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24td2VpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDogMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAyMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXF1YW50aXR5LWRlc2t0b3AtbWF4LXdpZHRoOiAzNDBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taW1hZ2Utd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoOiAxMzBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tbG9nZ2luLWJ1dHRvbi13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMjAlXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxMSVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDE1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFByb2R1Y3QgbGlzdCBpdGVtIGNvbXBvbmVudCBvcmRlci5cclxuJHByb2R1Y3QtbGlzdC1pbWFnZS1vcmRlcjogMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1kZXNjcmlwdGlvbi1vcmRlcjogMiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1jb2RlLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXByaWNlLW9yZGVyOiAzICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXF1YW50aXR5LXByaWNlLWZhdm91cml0ZXMtb3JkZXI6IDUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3Qtbm90LWxvZ2dlZC1pbi1vcmRlcjogNiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IExpc3QgR3JpZCBTZXR0aW5ncyAtLS0tXHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1jb250ZW50LXBhZGRpbmc6IDAgMjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWNvbG91cjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBob3ZlcikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyBQcm9kdWN0IGxpc3QgZ3JpZCBjb21wb25lbnQgb3JkZXIuXHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1hbmNob3ItYmxvY2stb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1zdG9jay1pbmRpY2F0b3Itb3JkZXI6IDMgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1wcmljZXMtb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1idXR0b25zLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtbm90LWxvZ2dlZC1pbi1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXN0b2NrbGluZS1idXR0b246IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1sYWJlbC12YWx1ZS1hbGlnbWVuZW50OiBpZigkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImxlZnRcIiwgYXV0bywgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUT0RPOiBJIGtub3cgdGhpcyBpcyBtZXNzIGFuZCBoYXMgZ29uZSB0aHJvdWdoIG1hbnkgcmVmYWN0b3JzLi4uLiBcclxuLy8gLS0tIFByb2R1Y3QgTGlzdCBMaXN0IFNldHRpbmdzIC0tLS1cclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdzogJGJveFNoYWRvdzMgIWRlZmF1bHQ7XHJcbi8vIExvZ2luIC8gc3RvY2tsaW5lIGJ1dHRvbiB3aWR0aC5cclxuJGxvZ2luLXN0b2NrbGluZS13aWR0aDogMjUlICFkZWZhdWx0O1xyXG4vLyBGYXZvdXJpdGVzIGNvbHVtbiB3aWR0aCAoIERlc2t0b3AgKVxyXG4kZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDogMjUlICFkZWZhdWx0O1xyXG4vLyB0YWJsZSBpdGVtIGNvbnRyb2xzLlxyXG4kdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmlsdGVycyAvIFNlYXJjaCBBdHRyaWJ1dGVzIC0tLSBcclxuLy8gR2VuZXJhbCBzZXR0aW5ncyBcclxuJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZmlsdGVycy1kZXNrdG9wLWNvbnRhaW5lci1tYXgtd2lkdGg6IDI4MHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoOiAyNDBweCAhZGVmYXVsdDtcclxuLy8gRmlsdGVycyBtb2JpbGUgdG9nZ2xlLlxyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICB1bi1zdHVjazogJGNvbG91cjQtNixcclxuICAgIHN0dWNrOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXI6IChcclxuICAgIHVuLXN0dWNrOiAkY29sb3VyNCxcclxuICAgIHN0dWNrOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEZpbHRlcnMgaGVhZGVyLlxyXG4kZmlsdGVycy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctZm9udC1zaXplOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNiAhZGVmYXVsdDtcclxuLy8gQXBwbGllZCBhdHRyaWJ1dGUocylcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1pY29uLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWFsbC1jb2xvdXI6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc2l6ZTogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbi8vIE9wdGlvbiBoZWFkaW5nXHJcbiRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luOiAyNXB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC1zaXplOiRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gQXR0cmlidXRlc1xyXG4kZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDb2xvdXIgcHJldmlld1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aDogMTBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctaGVpZ2h0OiAkZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4vLyBQcmljZSBzbGlkZXJcclxuJGZpbHRlcnMtcHMtaW5wdXQtd2lkdGg6IDcwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtaW5wdXQtYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIFNob3cgbW9yZSAvIGxlc3MgYXR0cmlidXRlc1xyXG4kZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCAtLS0tLSBcclxuXHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbi8vIE1hcmdpbiAvIFBhZGRpbmcgdG9wICsgYm90dG9tLlxyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZzogMjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIGxhcmdlOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4IDE1cHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjVweCxcclxuICAgIGxhcmdlOiAxMHB4IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRwcm9kdWN0LWVucXVpcnktZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMTVweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDVweCAwLFxyXG4gICAgbGFyZ2U6IDQwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IEltYWdlIC0tLSBcclxuJHByb2R1Y3QtaW1hZ2Utd2lkdGg6IDU1MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA4KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgTWFpbiBoZWFkaW5nIC0tLSBcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemU6IDI4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAzNHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4vLyBDb2RlICggUmVmZXJuZWNlICYgYWx0IHJlZmVuZW5jZSBfXHJcbiRwcm9kdWN0LWNvZGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtY29kZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBtZWRpdW06IDIwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBFbnF1aXJ5IEJ1eSBCdXR0b24gLS0tXHJcbiRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbWVkaXVtOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByaWNlIC0tLSBcclxuJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZTogMjggIWRlZmF1bHQ7XHJcbi8vIC0tLSBBZGRpdGlvbmFsIGltYWdlcyAtLS1cclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtd2lkdGg6IDM3NXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1hY3RpdmUtb3BhY2l0eTogMC42ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyOiAoXHJcbiAgICBkZWZhdWx0OiAxcHggc29saWQgJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAxcHggc29saWQgJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6IDFweCBzb2xpZCAkY29sb3VyNixcclxuICAgIGFjdGl2ZS1jbGljazogMXB4IHNvbGlkIHJnYmEoJGNvbG91cjYsIDAuNSlcclxuKSAhZGVmYXVsdDtcclxuLy8gR3JpZFxyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDEwcHgsXHJcbiAgICBsYXJnZTogNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDYXNlIHByaWNlXHJcbiRwcm9kdWN0LWNhc2UtcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIExpZ2h0Ym94IC0tLS0tXHJcbiRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6IDJweCA4cHgsXHJcbiAgICBtYWduaWZpY2F0aW9uLWhvdmVyOiAycHggNHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC44NSkgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250ZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAyMHB4IDAsXHJcbiAgICB4bGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiAxMDAsXHJcbiAgICBtZWRpdW06IDgwLFxyXG4gICAgbGFyZ2U6IDg1XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1zbGlkZS1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIC8vIHNldHRpbmcgdG8gMCBvdGhlciBpbWFnZSB3b3VsZCBzY2FsZSBvdXRzaWRlIG9mIHRoZSBjb250YWluZXIgcHVzaGluZyB0aGUgcGFnZXIgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy13aWR0aDogKFxyXG4gICAgc21hbGw6IDI1cHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNDBweCxcclxuICAgIGxhcmdlOiA3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxNnB4LFxyXG4gICAgbGFyZ2U6IDI2cHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjMtMiwgMC4zKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTYsXHJcbiAgICBtZWRpdW06IDIwXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1pdGVtLWNvdW50LWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9uczogMzBweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFnZXIgLS0tXHJcbiRsaWdodGJveC1wYWdlci1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiBhdXRvLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGg6IChcclxuICAgIG1lZGl1bTogMTAwcHgsXHJcbiAgICBsYXJnZTogMTcwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcm9kdWN0IEVucXVpcnkgRGV0YWlscyAtLS1cclxuLy8gTGFiZWwgdmFsdWUgcGFpclxyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM6IGJhc2VsaW5lICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwOiAoXHJcbiAgICBzbWFsbDogNXB4LFxyXG4gICAgbWVkaXVtOiA1cHggMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWNvbG91cjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91ciAhZGVmYXVsdDtcclxuXHJcbi8vIE11bHRpIGxpbmUgY29udGFpbmVyXHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLW1hcmdpbjogMCAwIDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1jb2xvdXI6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuLy8gTGFiZWwgKyB2YWx1ZSBwYWlyXHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemU6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gUHJpY2luZy5cclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIG1lZGl1bTogMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGg6IChcclxuICAgIHNtYWxsOiAyMjBweCxcclxuICAgIG1lZGl1bTogMTkwcHgsXHJcbiAgICBsYXJnZTogMTkwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMWZyLFxyXG4gICAgbWVkaXVtOiA1MCUsXHJcbiAgICBsYXJnZTogNDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbi8vIEhhemFyZCBTdGF0ZW1lbnQuXHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFNoYXJlXHJcbiRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtc2l6ZTogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gT3B0aW9uYWwgZXh0cmFzXHJcbiRwcm9kdWN0LWVucXVpcnktb3B0aW9uYWwtZXh0cmFzLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIFByZXZpb3VzbHkgcHVyY2hhc2VkIC0tLSBcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDE1cHgsXHJcbiAgICBtZWRpdW06IDAgMCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBtZWRpdW06IDE1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIG1lZGl1bTogMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1iYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaXRlbS1zcGFjaW5nOiA0MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTYsXHJcbiAgICBtZWRpdW06IDE0XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWxhYmVsLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWZvbnQtc2l6ZTogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtdmlldy1vcmRlci1idXR0b24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgT3ZlcmxheSBNb2R1bGUgLS0tIFxyXG4vLyAtLS0gUXVhbnRpdHkgUHJpY2UgQnJlYWsgLS0tIFxyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDogNDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLXNhdmUtYW1vdW50LWNvbG91cjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQtNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXNhdmluZy1jb2wtZm9udC13ZWlnaHQ6ICRzYXZpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLW1hcmdpbjogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLXBhZGRpbmc6IDAgNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtc3VwcHJlc3MtaGVhZGVyLWdhcDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gR3JvdXBlZCBtb2R1bGVzIC0tLVxyXG4kcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ncm91cGVkLXNlY29uZC1pdGVtLWJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xOyBcclxuLy8gLS0tIFByb2R1Y3QgTm90ZXNcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodDogMjVweCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWhlaWdodDogMTR2aCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTcGVjaWZpY2F0aW9uIC0tLSBcclxuJHNwZWNpZmljYXRpb24tZm9udC1zaXplOiAkcHJvZHVjdC1ub3Rlcy1zaXplICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tY29sb3VyOiAkcHJvZHVjdC1ub3Rlcy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBbHRlcm5hdGl2ZSBPcHRpb25zIC0tLSBcclxuJHByb2R1Y3QtYWx0LW9wdGlvbnMtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tIFRhYmJlZCBTcGVjaWZpY2F0aW9uIC0tLSBcclxuJHByb2R1Y3QtdGFicy10aXRsZS1kZXNrdG9wLXdpZHRoOiBmaXQtY29udGVudCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFicy10aXRsZS1wYWRkaW5nOiAxOHB4IDgwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtdGV4dC1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWItc3BlY2lmaWNpYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTdG9ja2xpbmUgLS0tXHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTAwJVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDQwJSxcclxuICAgIGxhcmdlOiAyNyVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1vcHRpb24tY29sb3VyOiAoXHJcbiAgICB1bmF2YWlsYWJsZTogJGNvbG91cjMtN1xyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgdW5hdmFpbGFibGU6ICRjb2xvdXIzLTVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtbWF4LXdpZHRoOiA1MjBweCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RvY2tsaW5lLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBSYXRpbmcgLS0tLS0gXHJcbiRyYXRpbmctaWNvbi1jb2xvdXI6IChcclxuICAgIGluYWN0aXZlOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMClcclxuKSAhZGVmYXVsdDtcclxuJHJhdGluZy1zdW1tYXJ5LWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEJhc2tldCAtLS0tLSBcclxuLy8gLS0tIEJhc2tldCBUYWJsZSAtLS0gXHJcbiRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJlbW92ZS1idXR0b24taWNvbi1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpICFkZWZhdWx0OyBcclxuLy8gLS0tIEJhc2tldCBDb250cm9scyAtLS1cclxuJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gUmVtb3ZlIEFsbCBCdXR0b25cclxuJGJhc2tldC1ybS1hbGwtYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1yZW1vdmUtYWxsLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWJ1dHRvbi1pY29uOiB0cnVlICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcm0tYWxsLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFVwZGF0ZSBiYXNrZXQgYnV0dG9uLlxyXG4kYmFza2V0LXVwZGF0ZS1pY29uOiB0cnVlICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tcGFkZGluZzogMTBweCAzMHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LCBcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCwgXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1idXR0b24tZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtaWNvbi1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpICFkZWZhdWx0OyBcclxuJGJhc2tldC11cGRhdGUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTIgXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYXNrZXQgRGVsaXZlcnkgLS0tIFxyXG4kYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMzBweCxcclxuICAgIGxhcmdlOiAwIDAgMzVweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIEJhc2tldCBTdW1tYXJ5IC0tLSBcclxuJGJhc2tldC1zdW1tYXJ5LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAzMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXRvdGFsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS10b3RhbC10ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1wYWRkaW5nOiA0MHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktYmFja2dyb3VuZC1jb2xvdXI6IC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tdmFsdWUtZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaGlnaGxpZ2h0ZWQtaXRlbS1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci1tYXJnaW46IDMwcHggMCAyNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgLSAxICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWhlaWdodDogMzVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgLSAxICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LCAvLyBSZXBsYWNpbmcgd2l0aCBzb2xpZCBjb2xvdXIuXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1yZW1vdmUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktY2FsbG91dDogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXItdmFsaWQ6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBjb2xvdXItdmFsaWQ6ICRjb2xvdXIxLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXItaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGNvbG91ci1pbnZhbGlkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFRvdGFsICggc3RpY2t5IG1vYmlsZSApXHJcbiRiYXNrZXQtdG90YWwtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTcgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0tIENoZWNrb3V0IEJ1dHRvbnMgLS0tIFxyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tcGFkZGluZzogMTJweCA1cHggIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYWdlLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXBheXBhbC1idXR0b24tcGFkZGluZzogMTJweCA1cHggIWRlZmF1bHQ7XHJcbiRjaGVja291dC1wYXlwYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAjZmZjNDM5LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ2hlY2tvdXQgUmV0dXJuaW5nIEN1c3RvbWVyIC0tLVxyXG4kY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBhZGp1c3QtaHVlKHNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQtNSwgMTMlKSwgMjAlKSwgLTglKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDb250aW51ZSBzaG9wcGluZ1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDM1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQYXltZW50IG1ldGhvZHMgLS0tLS0gXHJcbi8vIFBheW1lbnQgbWV0aG9kIHNlbGVjdG9yXHJcbiRwYXltZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xyXG4vLyBUaGlzIGhhcyBiZWVuIHdvcmtlZCBvdXQgdGhlIHN5c3RlbSBpbiBmYXZvdXIgb2YgdXNpbmcgdGhlIFNDQSBjaGFsbGVuZ2UgZGltZW5zaW9ucyBpbnN0ZWFkLlxyXG4vLyAkcGF5bWVudC1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIHNtYWxsOiAxMDAlLFxyXG4vLyAgICAgbGFyZ2U6IGNhbGMoI3tsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpfSArICN7JGNoZWNrYm94LWRpbWVudGlvbnN9KVxyXG4vLyApICFkZWZhdWx0O1xyXG4kcGF5bWVudC1jb250YWluZXItYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4kcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNTAwcHgsXHJcbiAgICBvcGF5bzogMjdyZW0gLy8gU3dpdGNoaW5nIHRoZSByZW0gYXMgc29tZSB1c2VycyB3aWxsIHVzZSBleHRyZW1lIGZvbnQgc2NhbGluZyBzbyB0aGUgaGVpZ2h0IHdpbGwgbmVlZCB0byBzY2FsZSB3aXRoIGZvbnQtc2NhbGluZy5cclxuKSAhZGVmYXVsdDtcclxuJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFjY291bnQgR2VuZXJhbC5cclxuLy8gU29ydGluZy5cclxuJGFjY291bnQtc29ydGluZy1tYXJnaW46IDAgMCAxMHB4ICFkZWZhdWx0O1xyXG4vLyBQYXNzd29yZCByZXNldCBuZXcgbGluay5cclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLW1hcmdpbjogMCAwIDMwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBMb29rdXBzIC0tLS0tXHJcbi8vIC0tLSBQb3N0Y29kZSBsb29rdXAgdjEgKCBTaW5nbGUgRmllbGQgKSAtLS1cclxuJHBjb2RlLWxvb2t1cC1idXR0b24tcGFkZGluZzogMTJweCAxM3B4ICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbG9va3Vwcy1yZXN1bHRzLWhpZ2hsaWdodGVkLXRleHQtZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcclxuLy8gLS0tIE11bHRpIEZpZWxkIExvb2t1cCAtLS1cclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBtZWRpdW06IDUwcHggOCUsXHJcbiAgICBsYXJnZTogNTBweCAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXA6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogMjVweCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBJbnRlcmFjdGl2ZSBNYXAgKCBTdG9ja2lzdCApIC0tLS0tXHJcbiRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4vLyBsb2NhdGlvbiBidXR0b24gcHJpbWFyaWx5IHVzZWQgZm9yIHRoZSBnZW9sb2NhdGlvbiBsb29rdXAuXHJcbiRsb2NhdGlvbi1idXR0b24taWNvbi1jb25maWc6IChcclxuICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsb2NhdGlvbiksXHJcbiAgcG9zaXRpb246IGFmdGVyLFxyXG4gIG1hcmdpbjogMCAwIDAgNDBweCxcclxuICBjb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4gICksXHJcbiAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFNpdGUgTWFwIC0tLS0tXHJcbiRzaXRlLW1hcC1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1tYXAtcGFyZW50LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFNpdGUgTGlzdCAtLS0tLS1cclxuJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogJHNpdGUtbGlzdC1sb2dvLW1hcmdpbixcclxuICAgIGxhcmdlOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1wYWRkaW5nOiAzMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRzaXRlLWxpc3QtbG9nby1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luOiAxMHB4IDAgMTVweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gVGhpcyBpcyBmb3IgY2FyZCB2aWV3IGFuZCB0YWJsZSBpbiBtb2JpbGUgKCBpLmUgbm90IGRlc2t0b3AgdGFibGUgKS5cclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10aW1lLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDogNDAlICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAzMHB4IDAgMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXA6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKSxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEF4aXMgU2VjdGlvbnMgLS0tLS1cclxuJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gWW91ciBBY2NvdW50IC0tLS0tIFxyXG4kYWNjb3VudC1wYWdlcy1pdGVtLWdyaWQtbWFyZ2luOiAwO1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS13aGl0ZS1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXdoaXRlLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogbmFtaW5nIGNvbnZlbnRpb25zIG5lZWQgdG8gYmUgcmVkb25lIGFzIHRoaXMgaXMgbm8gbG9uZ2VyIGFjY291bnQgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eS5cclxuJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy01LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXItYWx0OiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZS1hbHQ6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjMtNixcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKVxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgICAgIGRpc2FibGVkOiAkY29sb3VyM1xyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjZcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7IFxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tYW5jaG9yLXBhZGRpbmc6IDM1cHggMjBweCAzMHB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQ6IChcclxuICAgIGFjY291bnQtcGFnZTogNzAwLFxyXG4gICAgYWNjb3VudC1tZW51OiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGhvdmVyLWFsdDogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTMsXHJcbiAgICBhY3RpdmUtYWx0OiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGhvdmVyLWFsdDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlci1hbHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBhY3RpdmUtYWx0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZS1hbHQpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91clxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBJZiB0aGUgcHJpbWFyeSBjb2xvdXIgZG9lcyBub3QgY29udHJhc3QgYWdhaW5zdCB0aGUgdGV4dCBzZXQgdGhpcyB0byB0cnVlLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi11c2Utc2Vjb25kYXJ5LWNvbG91cjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gVE9ETzogb25jZSB0aGUgb2xkIGFjY291bnQgZ3JpZCBoYXMgYmVlbiByZXBsYWNlIHdpdGggdGhlIG5ldyBzZWNvbmQgdGhpcyBjYW4gZG8uXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemU6IChcclxuICAgIGNoYW5nZS1kZXRhaWxzOiA0NXB4LFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiAxM3B4LFxyXG4gICAgY29udHJhY3QtaXRlbXM6IDY1cHgsXHJcbiAgICBmYXZvdXJpdGVzOiA0NXB4LFxyXG4gICAgdmlldy1vcmRlcnM6IDU1cHgsXHJcbiAgICByZWNlbnRseS1wdXJjaGFzZWQ6IDY1cHgsXHJcbiAgICBtYW5hZ2UtY2FyZHM6IDM1cHgsXHJcbiAgICBzdGF0ZW1lbnQ6IDQ1cHgsXHJcbiAgICBtYW5hZ2UtdXNlcnM6IDU1cHgsXHJcbiAgICBicmFuY2gtc3dpdGNoZXI6IDYwcHgsXHJcbiAgICBjb250YWN0LXByZWZlcmVuY2VzOiA2MHB4LFxyXG4gICAgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6IDYwcHgsXHJcbiAgICB1cGxvYWQtYmFza2V0OiA0NXB4LFxyXG4gICAgdXBsb2FkLW9yZGVyOiA0NXB4LFxyXG4gICAgbG9nb3V0OiA0NXB4LFxyXG4gICAgbWFuYWdlLWNhbGxzOiA0NXB4LFxyXG4gICAgc2VydmljZS1jb250cmFjdHM6IDQ1cHgsXHJcbiAgICBjdXN0b21lci1hc3NldHM6IDQ1cHgsXHJcbiAgICBwYXltZW50LXJlcXVlc3RzOiA0NXB4LFxyXG4gICAgZG93bmxvYWQtcHJpY2UtbGlzdHM6IDQ1cHgsXHJcbiAgICBzaXRlLWxpc3Q6IDQ1cHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6IDQ1cHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2U6IDQ1cHgsXHJcbiAgICBkZWZhdWx0LWljb246IDQ1cHgsXHJcbiAgICBvbmxpbmUtZG9jdW1lbnRhdGlvbjogNDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplOiAoXHJcbiAgICBkZWZhdWx0OiAzMHB4LFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiA4cHgsXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogMjVweCxcclxuICAgIG1hbmFnZS1jYXJkczogMjNweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogMjVweCxcclxuICAgIGxvZ291dDogMjVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLSBWaWV3IE9yZGVyIC0tLVxyXG4kcHJpY2UtZHJvcC1mb250LXNpemU6IDExICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcHJpY2UtZHJvcC1hcnJvdy1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHggMjBweCxcclxuICAgIGxhcmdlOiAzMHB4IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTcwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTWFuYWdlIENhbGxzIC0tLSBcclxuJGNhbGwtZW5xdWlyeS1pY29uLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWNvbnRlbnQtbGFiZWwtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kbWFuYWdlLWNhbGxzLXRhYmxlLWhlYWRpbmctbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbi8vIFJhdGluZy5cclxuJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplOiAyMi41cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBNYW5hZ2UgVXNlcnMgLS0tXHJcbiR1c2Vycy1mb3VuZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdXNlcnMtZm91bmQtY291bnQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gVGFibGUuXHJcbiR1c2Vycy10Ym9keS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kdXNlcnMtdGJvZHktY29udGFjdC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdXNlcnMtdGJvZHktY29udGFjdC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbi8vIFJlbW92ZSB1c2VyIGJ1dHRvbiAoIGxpc3QgKVxyXG4kcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM6IDIwcHggIWRlZmF1bHQ7IFxyXG4kcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gVmlldyAvIEVkaXQgdXNlclxyXG4kdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24taWNvbi1zaXplOiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgLSAyKSAhZGVmYXVsdDtcclxuJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDExNTBweCxcclxuICAgIGhlaWdodDogNzMwcHhcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItcGFkZGluZzogMjVweCAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplOiAyNSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC10YWJsZS1icmFuY2gtY29sLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLyB2aWV3IC8gZWRpdCB1c2VyXHJcbiR1c2Vycy1wb3B1cC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTE1MHB4LFxyXG4gICAgaGVpZ2h0OiA3MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtc2VhcmNoLW1heC13aWR0aDogNjIwcHggIWRlZmF1bHQ7XHJcbiR1c2Vycy1zZWFyY2gtaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIEJyYW5jaCBzZWxlY3RvciAtLS0tLSBcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDogMTIwcHggIWRlZmF1bHQ7XHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLWNvbG91cjogJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIE1hbmFnZSBQYXltZW50IENhcmRzIC0tLS0tIFxyXG4kY2FyZHMtY2FyZC10eXBlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG4kY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gUGF5bWVudCBGcmFtZS5cclxuJHBheW1lbnQtZnJhbWUtcG9wdXAtbWF4LXdpZHRoOiAxMTUwcHggIWRlZmF1bHQ7XHJcbiRwYXltZW50LWZyYW1lLW1heC13aWR0aDogNjMwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFN0YXRlbWVudCAtLS0tLSBcclxuJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMykgIWRlZmF1bHQ7XHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc3RhdGVtZW50LWJhbGFuY2UtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVG9rZW5zIC0tLS0tIFxyXG4kdG9rZW5zLXRhYmxlLXBhZGRpbmc6IDIwMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIHNlY3Rpb24gY29sb3VycyAtLS0tLVxyXG4kc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBiYWNrZ3JvdW5kIGNvbG91cnMgLS0tLS0gXHJcbiRwYWdlLWJhY2tncm91bmQtY29sb3VyczogKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2UgYmFja2dyb3VuZCBpbWFnZXMgLS0tLS1cclxuJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8tLS0tLSBGb290ZXIgLS0tLS0gXHJcbi8vIElmIHVzaW5nIEZvb3RlciBsYXlvdXQgMiB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgdG8gcXVpY2tseSBjZW50ZXJhbGlzZS5cclxuJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci10b3A6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZTogXCIvY29udGVudC9pbWFnZXMvZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlLnBuZ1wiICFkZWZhdWx0O1xyXG5cclxuXHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemU6IDRweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyBGb290ZXIgZ3JpZCAoIGNvbnRlbnQgY29udGFpbmVyIClcclxuJGZvb3Rlci1ncmlkLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG4kZm9vdGVyLWdyaWQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtdG9wOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtdXJsOiAoXHJcbiAgICBzbWFsbDogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8xMy8zMjAvNTAwJyxcclxuICAgIGxhcmdlOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zL2lkLzEzLzEzMDAvMzAwJ1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNTAwcHgsXHJcbiAgICBsYXJnZTogMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLW1hcmdpbi10b3A6IDI1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYXJnaW4tdG9wOiA1MHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDEwcHgsXHJcbiAgICBtZWRpdW06IDcwcHggMTBweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDcwcHggMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDUwJVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUeXBpY2FsbHkgdGhpcyBnZW5lcmFsbHkgZG9lc24ndCBuZWVkIHRvIGJlIHNldCBkdWUgdG8gYWxsb3dpbmcgdGhlIGNvbnRlbnQgZGVmaW5lIHRoZSB3aWR0aC5cclxuJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1vcmRlcjogKFxyXG4gICAgbWFpbGluZy1saXN0OiAxLFxyXG4gICAgc29jaWFsLWljb25zOiAyLFxyXG4gICAgdGV4dGRiOiAzXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGNlbnRlciwgbnVsbClcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEJhY2sgdG8gVG9wIC0tLVxyXG4kYmFjay10by10b3AtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTdweCxcclxuICAgIGxhcmdlOiAyMnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24td2lkdGg6IChcclxuICAgIHNtYWxsOiA1MHB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA1MHB4LFxyXG4gICAgbGFyZ2U6IDYwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodDogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZTogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYm9yZGVyLXJhZGl1czogMTBweCAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYmFjay10by10b3AtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0gTGlzdCAtLS0gXHJcbiRmb290ZXItbGlzdC1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbi8vIFJldmVyc2UgZm9vdGVyIGxpc3QgJiBzb2NpYWxzIGVsZW1lbnRzIG9yZGVyLlxyXG4kZm9vdGVyLWxpc3Qtb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWFyZWEtb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1yZXZlcnNlLW9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1tYXJnaW4tdG9wOiAzNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS13aWR0aDogMjMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwLjVweCxcclxuICAgIGxhcmdlOiAwIDAgMjFweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLWJvdHRvbTogMjFweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3Itd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1tb2JpbGUtc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0taG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1ob3Zlci10ZXh0LWRlY29yYXRpb246IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtbGluZS1oZWlnaHQ6ICRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gTWFpbiBtZW51ICggdGhpcyBpcyBhIG5ldyBjb25jZXB0IHNvIG5vdCBhbGwgY29uZmlnIG9wdGlvbnMgd2lsbCBiZSBoZXJlIClcclxuJGZvb3Rlci1tYWluLW1lbnUtZmxleC1ncm93OiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haW4tbWVudS1kZXNrdG9wLW1heC13aWR0aDogNTAlICFkZWZhdWx0O1xyXG4vLyBBbHQgbWVudVxyXG4kZm9vdGVyLWFsdC1tZW51LWxpc3QtaXRlbS13aWR0aDogYXV0byAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1hbmNob3ItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LWxpc3QtaXRlbS1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZpcnN0LWNoaWxkLXN1cHByZXNzLXBhZGRpbmc6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBQcm9tb3Rpb24gSGVhZGluZyAtLS0gXHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3BcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBMb2dvIC0tLSBcclxuJGZvb3Rlci1sb2dvLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTAlLFxyXG4gICAgbWVkaXVtOiA0MCUsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxvZ28taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbG9nby1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENvbnRhY3QgRGV0YWlscyAtLS1cclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG1hcC1nZXQoJGZvb3Rlci1wYXJlbnQtcGFkZGluZywgc21hbGwpLFxyXG4gICAgbGFyZ2U6IG1hcC1nZXQoJGZvb3Rlci1wYXJlbnQtcGFkZGluZywgbGFyZ2UpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgcmV2ZWFsIGJ1dHRvbiAtLS0gXHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTVcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gTWFpbGluZyBsaXN0IC0tLSBcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7IFxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBmaXQtY29udGVudFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1pY29uLWNvbmZpZzogKFxyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWFpbCksXHJcbiAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICBjb2xvdXI6ICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyLFxyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgc2l6ZTogMTZweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3BcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXRleHQtY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gU2V0IHRvIG51bGwgdG8gZm9sbG93IGRlZmF1bHQgZXhwcmVzcyBzdHlsaW5nLlxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXItaW5jbHVkZS1idXR0b246IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyLWluY2x1ZGUtYnV0dG9uOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDTVMgY29udGVudCBjb250YWluZXIgLS0tIFxyXG4vLyBUaGlzIGNvbXBvbmVudCBpcyBmYWlybHkgZnJlZSBmb3JtIGFzIGl0IGNhbiBjaGFuZ2UgcXVpdGUgcmFkaWNhbGx5IG9uIGEgc2l0ZSBieSBzaXRlIGJhc2lzLlxyXG4kZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IHJvd1xyXG4pICFkZWZhdWx0O1xyXG4vLyBTdHlsZSB0aGUgaDIncyBsaWtlIHRoZSBsaXN0IHBhcmVudC5cclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1tYXJnaW46IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWNvbG91cjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91ciAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXNpemU6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLW1hcmdpbjogMCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1mb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBTZXBlcmF0b3JzIC0tLSBcclxuJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQ6IChcclxuICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgaGVpZ2h0OiAycHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjogcmdiYSgkY29sb3VyMSwgMC4zKSAhZGVmYXVsdDtcclxuLy8gQ29udGVudFxyXG4kZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sIFxyXG4gICAgbGFyZ2U6IHJvd1xyXG4pICFkZWZhdWx0O1xyXG4vLyBKdXN0aWZ5IG9ubHkgZm9yIGRlc2t0b3AgYXMgaXQgZG9lc250IG1ha2Ugc2Vuc2UgZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4kZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b206IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoOiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCB3aWR0aCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENNUyAtLS0gXHJcbiRmb290ZXItY21zLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy01XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplO1xyXG4vLyAtLS0gQ29weXJpZ2h0IC0tLVxyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIGF1dG8gMCxcclxuICAgIGxhcmdlOiAzNXB4IGF1dG8gMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXdpZHRoOiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCB3aWR0aCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1oZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1tYXJnaW46IDE1cHggMCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItcGFkZGluZzogMzVweCAwIDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbjogKFxyXG4gICAgc21hbGw6IGNlbnRlcixcclxuICAgIGxhcmdlOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci1zaXplOiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1taW5pZmllZC1sYXlvdXQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIGJhbm5lciBzZXJpZXMgLS0tIFxyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItYmFubmVyLWltYWdlLXdpZHRoOiA2MHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCBhdXRvIDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMjBweCAwIDI1cHgsXHJcbiAgICBsYXJnZTogNjBweCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci13aWR0aDogMXB4IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1nYXA6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6ICAwIDI0LjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBhdXRvLCAwKSxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2Ugc3BhY2luZy12YWx1ZXMuXHJcbiRmb290ZXItYmFubmVyLWltYWdlLW1hcmdpbjogKFxyXG4gICAgdG9wOiA2MHB4LCBcclxuICAgIHJpZ2h0OiAyMHB4LCBcclxuICAgIGJvdHRvbTogMjVweCwgXHJcbiAgICBsZWZ0OiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1iYW5uZXItZ3JheXNjYWxlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyBNb2R1bGUgLS0tLS1cclxuLy8gLS0tIFNvY2lhbCBpY29ucyBjb21tb24gLS0tIFxyXG4kc29jaWFsLWljb25zLWRpbWVudGlvbnM6IDM1cHggIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTogMSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLXNpemU6IDE4cHggIWRlZmF1bHQ7XHJcbi8vIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4vLyBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbi8vIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlOiAnc2l0ZS1zcGVjaWZpYycgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTb2NpYWwgaWNvbnMgcHJvZHVjdCBwYWdlIC0tLVxyXG4kcHJvZHVjdC1zb2NpYWwtaWNvbnMtZmxvYXQ6IHJpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1zb2NpYWwtaWNvbnMtbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbi8vLS0tIFNvY2lhbCBJY29ucyBmb290ZXIgLS0tXHJcblxyXG4vLyAtLS0tLSBURU1QIFJFU1RPUkUgLS0tLS1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nLWJvdHRvbTogMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZy1ib3R0b20sXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wIFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zOiA0NXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29uLWRpbWVudGlvbnM6ICgkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucyAvIDIpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzOiAkc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gVEVNUCBSRVNUT1JFIEVORCAtLS0tLVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCBzcGFjaW5nLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luLCAzKSxcclxuICAgIGxhcmdlOiAwIDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQge1xyXG4gICAgLy8gRHVlIHRvIHN1cHByZXNzaW5nIHRoZSBiYWNrZ3JvdW5kIHRoZSBpY29ucyBtYXkgY29uZmxpY3Qgd2l0aCB0aGUgZm9vdGVyIGJhY2tncm91bmQgaWYgb25lIGlzIHNldCBzbyB5b3UgbWF5IHdhbnQgdG8gbWFudWFsbHkgb3ZlcnJpZGUgdGhlc2UgY29sb3Vycy5cclxuICAgICRmb290ZXItc29jaWFsLWljb25zLWNvbG91cjogKFxyXG4gICAgICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgICAgIGhvdmVyOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksIFxyXG4gICAgICAgIGFjdGl2ZTogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKVxyXG4gICAgKSAhZGVmYXVsdDtcclxufVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1zdXBwcmVzcy1jb250YWluZXItc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tICA0MDQgKCBlcnJvciBub3QgZm91bmQgKSAtLS0tLVxyXG4kbm90LWZvdW5kLWxvZ28tc2l6ZTogKFxyXG4gICAgd2lkdGg6IDIwMHB4LFxyXG4gICAgaGVpZ2h0OiAxMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2U6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJzQwNC5zdmcnICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtcmVwZWF0OiB0cnVlICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtc2l6ZTogOTBweCAzMHB4ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXNpemU6IDIwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC1zaXplOiA2MCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1zaXplOiAyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLXBhcmFncmFwaC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogOTB2dyxcclxuICAgIGxhcmdlOiA4MDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjEsIDAuOCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBBeGlzIENvdW50ZG93biAtLS0tLSBcclxuJGNvdW50ZG93bi1kaXNwbGF5LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjb3VudGRvd24tZGlzcGxheS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yIC0tLS0tIFxyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1zaXplOiAyNiAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50OiB0cnVlICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQ6IChcclxuICAgIGNvbG91ci0xOiAkY29sb3VyMy0xLFxyXG4gICAgY29sb3VyLTI6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggLS0tLS1cclxuLy8gLS0tIEhlYWRlciAtLS1cclxuJHBpY2stbi1taXgtaGVhZGluZy1zaXplOiAzNSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1mb250LXN0eWxlOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1mb250LXdlaWdodDogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMzBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDIwcHggMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50OiAkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCAwIDUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFNlbGVjdG9ycyAtLS1cclxuLy8gV2lkdGggb25seSBpbiBkZXNrdG9wLlxyXG4kcGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXItd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1zbGlkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgNDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vKiogXHJcbiAgICAtLS0tLSBFbWFpbCBUZW1wbGF0ZXMgLS0tLS0gXHJcblxyXG4gICAgVEhJTkshLi4uLi4uIExJS0UgUkVBTExZIFRISU5LIE9VVExPT0sgQkVGT1JFIE1BS0lORyBDSEFOR0VTLCB0aGluZ3MgdGhhdCB0aGVzZSB2YXJpYWJsZXMgd2lsbCBlZmZlY3Q6IFxyXG4gICAgLSBGcmFnbWVudHMgKCBhcmUgY29sb3VycyBnZW5lcmljICkgXHJcbiAgICAtIE91dGxvb2sgXHJcbiAgICAtIERpcGxvbWF0IGVtYWlsIHBhcmFtZXRlcnNcclxuXHJcbioqL1xyXG4kZW1haWwtdGVtcGxhdGUtYmFja2dyb3VuZC1jb2xvdXI6ICNlMGUwZTAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lcjogNjcwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItYm9yZGVyOiAyMHB4IHNvbGlkICRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1wcmljZS1jb2wtd2lkdGg6IDEzMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1ndXR0ZXItd2lkdGg6IDMwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyOiAkZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBFbWFpbCBidXR0b25zIC0tLVxyXG4kZW1haWwtYnV0dG9uLXdpZHRoOiAyMjBweCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDIwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBQcmltYXJ5XHJcbiRlbWFpbC1idXR0b24tcHJpbWFyeS1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuLy8gU2Vjb25kYXJ5XHJcbiRlbWFpbC1idXR0b24tc2Vjb25kYXJ5LWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1haWxpbmcgbGlzdCB0ZW1wbGF0ZXMgLS0tXHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3Qtd2lkdGg6IDY1MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiA1OTBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC1mb250LWZhbWlseTogKFxyXG4gICAgdGVtcGxhdGUtMTogXCJBcmlhbFwiXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiXHJcblxyXG4vLy0tLS0tIEhlYWRpbmdzIC0tLS0gXHJcbi8vIFVzZWQgdG8gYnJlYWsgY29udGVudCBvbnRvIG11bHRpcGxlIGxpbmVzIGluIG1vYmlsZSBidXQgaW4gZGVza3RvcCBpdHMgdXNlZCB0byBicmVhayBjb250ZW50IHVwIHdoaWxzdCByZW1haW5pbmcgb24gdGhlIHNhbWUgbGluZS5cclxuLm1vYmlsZS1icmVhayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG8gOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XHJcbiAgIGgxIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpID09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSA9PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICB9IFxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHRvIG92ZXJyaWRlIEZvdW5kYXRpb24ncyBub3JtYWxpemVyLnNjc3MsIHRoZXJlIGlzIG5vIGNvbmZpZ3VyYXRpb24gd2l0aGluIHNldHRpbmdzLnNjc3MgdG8gaGFuZGxlIHRoaXMgYW5kIHdlIGNhbm5vdCB1c2UgIWltcG9ydGFudC5cclxuYm9keSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgIH1cclxufVxyXG5cclxuaDEge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgxKSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpOyBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMikpIGFuZCBub3QgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMiksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIsIHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMS1wYWRkaW5nLCAzLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmgyIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMikpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICRoZWFkaW5nLTItZm9udC1zdHlsZSB7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJGhlYWRpbmctMi1mb250LXN0eWxlO1xyXG4gICAgfVxyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLTItbGluZS1oZWlnaHQ7XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRpbmctMi1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTIpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgYmFzaWNhbGx5IHRoZSBwYWdlIGhlYWRpbmcgc3R5bGVzIHdoZW4gd2UgY2Fubm90IHVzZSBhIGgxICggaS5lIHByb2R1Y3QgcGFnZSApXHJcbiAgICAmLnByZXNldDMge1xyXG4gICAgICAgIEBpZiBub3QgKCRwYWdlLWhlYWRpbmctdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMykpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMykpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0zKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0zKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0zKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0yLWJvcmRlci1yYWRpdXMsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcGFnZS1oZWFkaW5nLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQ0IHtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTQpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGlmKG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpID09IG51bGwsMnB4LG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpKTtcclxuICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTQpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgzKSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbWFyZ2luLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0zLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbWFyZ2luLCBwcmVzZXQtMik7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0zLXBhZGRpbmcsIHByZXNldC0yKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTMtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmg0IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy00LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNCkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNCk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuaDUge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTUtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg1KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg1KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5oNiB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNi1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDYpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDYpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYWxsb3V0IHR5cG9ncmFwaHkgLS0tLS1cclxuLmNhbGxvdXQge1xyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgaDUsIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVXNlZCBmb3IgYWxpZ25pbmcgdGV4dCBjZW50ZXIgLyByaWdodC5cclxuLnRleHQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGdldHMgc2V0IHRvIGEgYmxvY2sgZWxlbWVudCB3aGVuIGluaXRpYWxseSBtZWFzdXJpbmcuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBPbmNlIG1lYXN1cmluZyBoYXMgY29tcGxldGVkIGZsZXhib3ggaXMgdGhlbiB1c2VkLCBiYXNlbGluZSBuZWVkcyB0byBnZXQgc2V0IHRvIGtlZXAgdGhlIHRleHQgdmVydGljYWxseSBpbmxpbmUgd2l0aCBvdGhlciBjb2x1bW5zLlxyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAvLyBPdGhlcndpc2UgaW4gZm9yIGxhcmdlIHRhYmxldHMgc3VjaCBhcyBJcGFkJ3MgdGhlIGNvbnRhaW5lciBnb2VzIGluIHRoZSBjZW50ZXIgb2YgdGhlIHNjcmVlbi5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi1sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEFuY2hvcnMgLS0tLSBcclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3JzLXRleHQtZGVjb3JhdGlvbjtcclxuICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAvLyBjb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNCk7XHJcbiAgICBmb250LXdlaWdodDogJGFuY2hvcnMtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhbmNob3JzLWZvbnQtc2l6ZSk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVkaXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVkaXQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgIH1cclxuICAgICYubmV3cy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRuZXdzLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGJsb2cpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJsb2ctYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMtYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgZXZlbnRzKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGV2ZW50cy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXh0ZXJuYWwtbGluay1pY29uIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXh0ZXJuYWwtbGluay1pY29uKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvcnMtaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNik7XHJcbiAgICAgICAgb3BhY2l0eTogJGtub2NrQmFjazI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIC8vIE1vdmluZyB0byBDU1MgdmFyaWFibGVzIHRvIHN1cHBvcnQgc2l0ZS1zdHlsZShzKSA4NTAyODguXHJcbiAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkYW5jaG9ycy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2FjdGl2ZS1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXIzLTYpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogVGhpcyBjYW4gYmUgcGhhc2VkIG91dCB1c2UgYXR0YWNobWVudC1jb250YWluZXIgaW5zdGVhZC5cclxuICAgICYucGRmLWRvd25sb2FkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGRmKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcGRmLXRhYmxlLWFuY2hvci1tYXJnaW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRmaWxlLWljb25zLXNpemUgLyAxLjMpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGRmKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBMaXN0cyAtLS0tLSBcclxub2wge1xyXG4gICAgbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlcGVyYXRvcnMgLS0tLS0tIFxyXG5ociB7XHJcbiAgICAmLm1vYmlsZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEFkZHJlc3MgRm9ybWF0dGluZyAtLS0tLVxyXG5hZGRyZXNzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBJZiB0aGlzIGlzIG1hZGUgY29uZmlndXJhYmxlIGluIHRoZSBmdXR1cmUgdGhlbiByZWNoZWNrIGNoZWNrb3V0IGNvbXBsZXRlIGRlbGl2ZXJ5ICBhZGRyZXNzIGZvbnQgc3R5bGUgdG8gbWFrZSBzdXJlIGl0IGlzIGNvbnNpc3RlbnQgd2l0aCBvcmRlciBkZXRhaWxzLlxyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEljb25zIC0tLS0tXHJcbi8vIER1ZSB0byBkZXNrdG9wIGhhdmluZyBhY2Nlc3MgdG8gdG9vbHRpcHMgKCB0aXRsZSBhdHRyaWJ1dGUgKSB3ZSBuZWVkIGEgbWVjaGFuaXNtIHRvIGRpc3BsYXkgdGhpcyBmb3IgbW9iaWxlIGRldmljZXMgZHVlIHRvIHRoZSBhYnNlbmNlIG9mIHRoZSBob3ZlciBzdGF0ZS5cclxuc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAuaWNvbi10ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBQcmljaW5nIC0tLS0tLSBcclxuQGluY2x1ZGUgcHJpY2UoKTtcclxuXHJcbi8vIC0tLS0tIEhvcml6b250YWwgUnVsZXMgLS0tLS0tXHJcbmhyIHtcclxuICAgIG1hcmdpbjogMjVweCAwO1xyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgXCJzbWFsbFwiOiAwLFxuICBcIm1lZGl1bVwiOiA2NDBweCxcbiAgXCJsYXJnZVwiOiAxMDI0cHgsXG4gIFwieGxhcmdlXCI6IDEyMDBweCxcbiAgXCJ4eGxhcmdlXCI6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8tLS0tLSBEaXJlY3Rpb25zIC0tLS0tXHJcbiRwb2ludFVwOiAtMTM1ZGVnO1xyXG4kcG9pbnREb3duOiA0NWRlZztcclxuJHBvaW50UmlnaHQ6IC00M2RlZztcclxuJHBvaW50TGVmdDogLTIyM2RlZztcclxuXHJcblxyXG4vLy0tLS0tIEJhbm5lciBPdmVybGF5cyAtLS0tLSBcclxuQG1peGluIG92ZXJsYXlCYW5uZXIoJHdpZHRoLCAkYmdDb2xvdXI6ICcnLCAkY29sb3VyOiAnI2ZmZmZmJykge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvdXI7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjAwNSc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEljb25zIC0tLS0tXHJcbi8vLS0tIENoZXZlcm9ucyAtLS1cclxuQG1peGluIGNoZXZyb24xKCRjb2xvdXIsICRkaXJlY3Rpb24sICRkaW1lbnNpb25zOiBcIlwiKSB7XHJcbiAgICBoZWlnaHQ6ICRkaW1lbnNpb25zO1xyXG4gICAgd2lkdGg6ICRkaW1lbnNpb25zO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjtcclxuICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGlyZWN0aW9uKTtcclxufVxyXG4gXHJcbkBtaXhpbiBjaGV2cm9uMygkY29sb3VyLCAkc2l6ZSwgJGFjdGl2ZTogZmFsc2UsICRkaXJlY3Rpb25JbkFjdGl2ZTogMTgwZGVnLCAkZGlyZWN0aW9uQWN0aXZlOiAwZGVnKSB7XHJcbiAgICBAaWYgKCRhY3RpdmUgPT0gZmFsc2UpIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMGRlJztcclxuICAgICAgICBtYXJnaW46IGF1dG8gMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogI3skc2l6ZX1weDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGRpcmVjdGlvbkluQWN0aXZlfSk7XHJcblxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGlyZWN0aW9uQWN0aXZlfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIFNvY2lhbCAtLS0gXHJcbkBtaXhpbiBzb2NpYWwxKCRwcml2YXRlVXNlQXJlYSwgJGNvbG91ciwgJHNpemUsICRmb250RmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJywgJGludmVydDogZmFsc2UpIHtcclxuICAgIHdpZHRoOiAoMiAqICRzaXplKTtcclxuICAgIGhlaWdodDogKDIgKiAkc2l6ZSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaWYgKCRpbnZlcnQgPT0gdHJ1ZSkge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJHByaXZhdGVVc2VBcmVhO1xyXG4gICAgICAgIHdpZHRoOiAoMS4yICogJHNpemUpO1xyXG4gICAgICAgIGhlaWdodDogKDEuMiAqICRzaXplKTtcclxuICAgICAgICAvLyBwYWRkaW5nOiAwIDAgMCAyNyU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBJbnB1dCByZWFkLW9ubHkgLS0tXHJcbkBtaXhpbiBpbnB1dFJlYWRPbmx5KCRpY29uLWNvbG91cjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKSkge1xyXG4gICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICRpY29uLWNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm8tYWNjZXNzKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAoc3BhY2luZy12YWx1ZSgkZmllbGRzZXQtbGFiZWwtcGFkZGluZywgMiwgbGFyZ2UpIC8gMiArIDEwcHgpO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gSGVhZGluZyAtLS0tLSBcclxuLy8tLS0gVW5kZXIgbGluZSAtLS0gXHJcbi8vIGhlYWRpbmdVbmRlckxpbmUgd2FzIHRoZSBmaXJzdCBhdHRlbXB0IG9mIHRoaXMgbWl4aW4gYnV0IGhhZCBubyBzdXBwb3J0IGZvciBob3ZlciwgYWN0aXZlIHN0YXRlcyArIGhhZCBzcGVjaWZpYyBwYWRkaW5nLlxyXG5AbWl4aW4gaGVhZGluZ1VuZGVyTGluZSgkZGlzcGxheUxpbmVzOiAyLCAkY29sb3VyOiBcIlwiLCAkdW5kZXJsaW5lQ29sb3VyOiBcIlwiLCAkcGFkZGluZy1ib3R0b206IDE1cHgpIHtcclxuICAgIC8vSWYgbm8gY29sb3VyIGlzIGFzc2lnbmVkIHRoZW4gZGVmYXVsdCB0byBjb2xvdXI0O1xyXG4gICAgQGlmICgkY29sb3VyID09IFwiXCIpIHtcclxuICAgICAgICAkY29sb3VyOiAkY29sb3VyNDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgKCR1bmRlcmxpbmVDb2xvdXIgPT0gXCJcIikge1xyXG4gICAgICAgICR1bmRlcmxpbmVDb2xvdXI6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctYm90dG9tO1xyXG4gICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRkaXNwbGF5TGluZXMsIChkZWZhdWx0OiAkdW5kZXJsaW5lQ29sb3VyKSk7XHJcbn1cclxuLy8gTmV3IHVuZGVybGluZSBtaXhpbiB0aGF0IHNob3VsZCBiZSB1c2VkIGluc3RlYWQgb2YgaGVhZGluZ1VuZGVyTGluZS5cclxuQG1peGluIHVuZGVybGluZSgkZGlzcGxheS1saW5lcywgJHVuZGVybGluZS1jb2xvdXI6IChkZWZhdWx0OiBtYXAtZ2V0KCRkZWZhdWx0LXVubGluZS1jb2xvdXJzLCBkZWZhdWx0KSksICRkZWZhdWx0LXdpZHRoOiAxMDAlLCAkcnVsZS1oZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodCwgJHJ1bGUtcG9zaXRpb246IChib3R0b206IDApKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6ICRkZWZhdWx0LXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJHJ1bGUtaGVpZ2h0O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCB0b3ApKSB7XHJcbiAgICAgICAgICAgIHRvcDogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgdG9wKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgcmlnaHQpKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCByaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIGJvdHRvbSkpIHtcclxuICAgICAgICAgICAgYm90dG9tOiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCBib3R0b20pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCBsZWZ0KSkge1xyXG4gICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCBsZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdW5kZXJsaW5lLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgLy8gU3dpdGNoaW5nIHRvIHVzaW5nIGJvcmRlciBwcm9wZXJ0eSBpbnN0ZWFkIG9mIHNldHRpbmcgaGVpZ2h0IGFzIGdldHRpbmcgd2VpcmQgaW5jb25zaXN0YW5jaWVzIHdoZW4gdGhlIGJyb3dzZXIgcmVuZGVycyB0aGUgcnVsZXMgYnkgfi4zcHguIGh0dHBzOi8vam9obnJlc2lnLmNvbS9ibG9nL3N1Yi1waXhlbC1wcm9ibGVtcy1pbi1jc3MvIC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzkyMDk4ODYvMXB4LWNhbGN1bGF0aW9uLWlzc3VlLXdpdGgtYnJvd3NlcnMtc3ViLXBpeGVsLXByb2JsZW1zXHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IDA7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKCRydWxlLWhlaWdodCA+IDEgYW5kIHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRkZWZhdWx0LXdpZHRoID09IDApIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIHByaW50IHtcclxuICAgICAgICAgICAgLy8gRHVlIHRvIGJhY2tncm91bmQtY29sb3IgYmVpbmcgc3VwcHJlc3NlZCBieSBiYWNrZ3JvdW5kIGdyYXBoaWMgb3B0aW9ucyBpbiBhZGRpdGlvbmFsIHNldHRpbmdzLCBpbmNyZWFzaW5nIHdlaWdodCBmb3IgcG9vciBxdWFsaXR5IHByaW50ZXJzLlxyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAjeygkcnVsZS1oZWlnaHQgKyAxKX0gc29saWQgbWFwLWdldCgkdW5kZXJsaW5lLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJGRpc3BsYXktbGluZXMgPiAxKSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdW5kZXJsaW5lLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEJ1dHRvbnMgLS0tLS1cclxuLy9CdXR0b24xIFxyXG5AbWl4aW4gYnV0dG9uMSgkY29sb3VyLCAkZm9udFNpemU6IDE1LCAkZm9udFdlaWdodDogNjAwLCAkcGFkZGluZzogMTVweCAyMHB4LCAkd2lkdGg6IGF1dG8sICRiYWNrZ3JvdW5kLWNvbG91cjogKCkpIHtcclxuICAgIC8vQHdhcm4gXCJUaGUgYnV0dG9uMSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIEluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCkgaW5zdGVhZC5cIjtcclxuICAgIEBpZiAoJHdpZHRoID09IGF1dG8pIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgZm9udC1zaXplOiAjeyRmb250U2l6ZX1weDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJjplbmFibGVkOmhvdmVyIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uLWJ1dHRvbigkbW9iaWxlLWFsdC1jb2xvdXJzIDogZmFsc2UpIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJ1dHRvbi5kaXNhYmxlZCwgYS5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlci1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgaG92ZXItYWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZS1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGFjdGl2ZS1hbHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQtYWx0KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgYW55IGFuY2hvciBhcnJvdyBpbmRpY2F0b3JzIGluIG1lbnVzLlxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlci1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZS1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gQ2VudGVyYWxpc2UgaWNvbiBpbiB0aGUgY29udGlhbmVyLlxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIC8vIEVuZm9yY2UgZm9udC13ZWlnaHQgNDAwIGFzIG91ciBmb250ZWxsbyBsaWJyYXJ5IG9ubHkgaGFzIG9uZSB3ZWlnaHQuXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0LWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQtYWx0KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWZvbnQtd2VpZ2h0LCBhY2NvdW50LXBhZ2UpO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbkBtaXhpbiBjb21tb24tYnV0dG9uLTEoJHBhZGRpbmc6IFwiXCIsICRiYWNrZ3JvdW5kOiAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSwgYWN0aXZlOiAkY29sb3VyNikgLCAkY29sb3VyOiAoZGVmYXVsdDogJGNvbG91cjEsIGhvdmVyOiAkY29sb3VyNCwgYWN0aXZlOiAkY29sb3VyMSwgZGlzYWJsZWQ6ICRjb2xvdXIzLTMpLCAkYm9yZGVyLWNvbG91cjogKCksICRmb250LXNpemU6IFwiXCIsICRmb250LXdlaWdodDogXCJcIiwgJGRpbWVudGlvbnM6ICh3aWR0aDogZml0LWNvbnRlbnQsIGhlaWdodDogYXV0bywgbWF4LWhlaWdodDogMTAwJSksICRtYXJnaW46IChzbWFsbDogMTBweCAwLCBtZWRpdW06IDEwcHggMCwgbGFyZ2U6IDAgMCAyMHB4KSwgJGRpc3BsYXk6IGZsZXgsICRpY29uLWNvbmZpZzogbnVsbCwgJGZsZXgtZ3JvdzogZmFsc2UpIHtcclxuXHJcbiAgICAvLyBJbmhvdXNlIGNvbG91ciBlZGdlIHN0ZXAgZWZmZWN0LlxyXG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcclxuXHJcbiAgICAvLyBEZWZhdWx0cy5cclxuICAgIEBpZiAkcGFkZGluZyA9PSBcIlwiIHtcclxuICAgICAgICAkcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGlmICRmb250LXNpemUgPT0gXCJcIiB7XHJcbiAgICAgICAgJGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgfVxyXG4gICAgQGlmICRmb250LXdlaWdodCA9PSBcIlwiIHtcclxuICAgICAgICAkZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIEBpZiAoJG1hcmdpbiA9PSAwKSB7XHJcbiAgICAgICAgJG1hcmdpbjogKFxyXG4gICAgICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICAgICAgbGFyZ2U6IDBcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRPRE86IENBTk5PVCBkbyBjb250cmFzdC1jaGVja2VyICggY29sb3VyIHByb2Nlc3NpbmcgKSBoZXJlIGp1c3QgeWV0IGFzIHNvbWUgbWl4aW4gY2FsbCdzIGRvIG5vdCBoYXZlIGEgZnVsbCBsaXN0IG9mIGNvbG91ciBtaXhpbidzIGJlaW5nIHBhc3NlZCBpbiBhbmQgdG8gZG8gYSByZWxpYWJsZSBmdWxsYmFjayB3aXRoIG1hcHMgd2UgbmVlZCBhY2Nlc3MgdG8gZnVuY3Rpb25zIG1hcC1zZXQgb3IgbWFwLW1lcmdlIHdoaWNoIHdlIGN1cnJlbnRseSBkbyBub3QgYXMgd2UgbmVlZCB0byB1cGRhdGUgZnJvbSBSdWJ5IFNhc3MgdG8gRGFydCBTYXNzIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL3ZhbHVlcy9tYXBzXHJcblxyXG5cclxuICAgIEBpZiBtYXAtaGFzLWtleSgkZGltZW50aW9ucywgbW9iaWxlLXdpZHRoKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGRpbWVudGlvbnMsIG1vYmlsZS13aWR0aCk7XHJcbiAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRkaW1lbnRpb25zLCB3aWR0aCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRkaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZhbGxiYWNrXHJcbiAgICAkaWNvbi1wb3NpdGlvbjogYmVmb3JlO1xyXG5cclxuICAgIEBpZiAoJGljb24tY29uZmlnKSB7IFxyXG4gICAgICAgICRpY29uLXBvc2l0aW9uOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgcG9zaXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIG1heC1oZWlnaHQ6IG1hcC1nZXQoJGRpbWVudGlvbnMsIG1heC1oZWlnaHQpO1xyXG4gICAgaGVpZ2h0OiBpZihtYXAtZ2V0KCRkaW1lbnRpb25zLCBoZWlnaHQpID09ICcnLCAxMDAlLCBtYXAtZ2V0KCRkaW1lbnRpb25zLCBoZWlnaHQpKTtcclxuICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xyXG4gICAgQGlmICRkaXNwbGF5ID09IFwiZmxleFwiIG9yICRkaXNwbGF5ID09IFwiaW5saW5lLWZsZXhcIiB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpZiAoJGZsZXgtZ3Jvdykge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC8vIEFkZGluZyBwb3NpdGlvbiByZWxhdGl2ZSB0byBrZWVwIGFueSBhYnNvbHV0ZSBlbGVtZW50cyBpbnNpZGUgb2YgdGhlIGJ1dHRvbiAoIGkuZSBncmFkdWF0ZWQtY29sb3VyLWVkZ2UgKVxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgI3tzbWFsbC12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgLy8gcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsICRwYWRkaW5nKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItd2lkdGg6ICRjb21tb24tYnV0dG9uLWJvcmRlci13aWR0aDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogaWYoJGZvbnQtd2VpZ2h0ID49IDYwMCwgJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmctdXBwZXJjYXNlLWJvbGQsICRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6ICRjb21tb24tYnV0dG9uLXdvcmQtc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkZWZhdWx0KSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogJGNvbW1vbi1idXR0b24tbGluZS1oZWlnaHQ7ICAgIFxyXG4gICAgQGlmIHNtb290aC1lZGdlcygkY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLi4uLlxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkbWFyZ2luKSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgI3ttZWRpdW0tdmFsdWUoJG1hcmdpbil9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAje2xhcmdlLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICB9XHJcbiAgICAvLyBPbmx5IGFwcGx5IGhvdmVyIGVmZmVjdCBpZiBkZXZpY2Ugc3VwcG9ydHMgaXQgKCBpLmUgbm90IGluIG1vYmlsZSApIHRvIGF2b2lkIHRoZSBzdGlja3kgaG92ZXIgZWZmZWN0LlxyXG4gICAgLy8gaHR0cHM6Ly9pdG5leHQuaW8vZmluYWxseS1hLWNzcy1vbmx5LXNvbHV0aW9uLXRvLWhvdmVyLW9uLXRvdWNoc2NyZWVucy1jNDk4YWYzOWMzMWNcclxuICAgIC8vIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc29sdmluZy1zdGlja3ktaG92ZXItc3RhdGVzLXdpdGgtbWVkaWEtaG92ZXItaG92ZXIvXHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIsICYuaG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgICAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSwgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6ZGlzYWJsZWQsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY29sb3VyLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJhY2tncm91bmQsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZDpob3ZlciwgJi5kaXNhYmxlZDpob3ZlciB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIGNvbmZpZ3VyYXRpb24uXHJcbiAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi9cclxuICAgICAgICBcclxuICAgICAgICAkaWNvbi1wb3NpdGlvbjogbWFwLWdldCgkaWNvbi1jb25maWcsIHBvc2l0aW9uKTtcclxuICAgICAgICAvLyBGYWxsYmFja1xyXG4gICAgICAgIEBpZiBub3QgKCRpY29uLXBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICRpY29uLXBvc2l0aW9uOiBiZWZvcmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkaWNvbi1jb25maWcsIGNvbnRlbnQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGljb24tY29uZmlnLCBtYXJnaW4pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkaWNvbi1jb25maWcsIGZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgc2l6ZSk7XHJcbiAgICAgICAgICAgIC8vIElmIHVzaW5nIGEgZm9udGVsbG8gbGlicmFyeSB0aGVuIG1ha2Ugc3VyZSB0aGUgZm9udC13ZWlnaHQgaXMgc2V0IHRvIDQwMCBvdGhlcndpc2UgYSB3ZWlyZCBib3JkZXIgZWZmZWN0IGlzIGFwcGxpZWQgKCB0aGlzIGlzIGxhcmdlbHkgZHVlIHRvIG9ubHkgaGF2ZSB0aGUgZm9udHMgaW4gMSB3ZWlnaHQgKS5cclxuICAgICAgICAgICAgQGlmIChzdHItaW5kZXgoXCJmb250ZWxsb1wiLCBtYXAtZ2V0KCRpY29uLWNvbmZpZywgZm9udC1mYW1pbHkpKSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFJlYWQgbW9yZSBidXR0b24gLyBhbmNob3IgLS0tIFxyXG5AbWl4aW4gcmVhZE1vcmVTdWZmaXgoKSB7XHJcbiAgICBAaWYgJHJlYWQtbW9yZS1zdWZmaXgtaWNvbiB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFuY2hvci1pbmRpY2F0b3IpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkcmVhZC1tb3JlLXN1ZmZpeC1jdXN0b20taWNvbik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBDbG9zZSBCdXR0b24gLS0tIFxyXG5AbWl4aW4gY2xvc2VCdXR0b24gKCRzaXplOiAkaWNvbi1zaXplLCAkZGVmYXVsdC1jb2xvdXI6IFwiXCIsICRob3Zlci1jb2xvdXI6IFwiXCIsICRhY3RpdmUtY29sb3VyOiBcIlwiKSB7XHJcblxyXG4gICAgLy8gRmFsbGJhY2tzLlxyXG4gICAgQGlmICRkZWZhdWx0LWNvbG91ciA9PSBcIlwiIHtcclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBhZ2FpbnN0IHdoaXRlIGFzIHRoaXMgYnV0dG9uIG9uIFwibW9zdFwiIGNhc2VzIGFwcGVhcnMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZGVmYXVsdC1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGhvdmVyLWNvbG91ciA9PSBcIlwiIHtcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgYXMgdGhpcyBidXR0b24gb24gXCJtb3N0XCIgY2FzZXMgYXBwZWFycyBvbiBhIHdoaXRlIGJhY2tncm91bmQuXHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkaG92ZXItY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGFjdGl2ZS1jb2xvdXIgPT0gXCJcIiB7XHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgYXMgdGhpcyBidXR0b24gb24gXCJtb3N0XCIgY2FzZXMgYXBwZWFycyBvbiBhIHdoaXRlIGJhY2tncm91bmQuXHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGFjdGl2ZS1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xvc2UtYnV0dG9uKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgICAgICBAaWYgKCRkZWZhdWx0LWNvbG91ciAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNC0yO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgLy9mb250LXNpemU6ICgkc2l6ZSAqIDEuMik7XHJcbiAgICAgICAgICAgIEBpZiAoJGhvdmVyLWNvbG91ciAhPSBcIlwiKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkY29sb3VyNCwgMC41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi8vIFRhYmxlIGxheW91dCBpbiBtb2JpbGUuXHJcbkBtaXhpbiBncmlkLXRhYmxlLWxheW91dC1tb2JpbGUoKSB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgLy8gVHdvIGNvbHVtbiBhcnJhbmdlbWVudCB3aGljaCB0aGUgaW1hZ2UgZ2V0cyBjb21wcmVzc2VkIG9uIHNtYWxsZXIgZGV2aWNlcyB0byBmaXQgY2VsbCBtYWluIGNvbnRlbnQgKCBpLmUgZGVzY3JpcHRpb24sIHByaWNlICYgYnV5IGJveGVzICkuXHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSAxZnI7XHJcbiAgICAvLyBNdWx0aW1lZGlhIGNvbnRlbnQgPT0gSW1hZ2VzLCB2aWRlb3Mgb3IgYW5pbWF0aW9ucy4gVGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQgaGFzIHNwZWNpZmljIGFyZWEncyB0aGF0IGl0IHNpdHMgaW4gKCBpLmUgZGVzY3JpcHRpb24tY29sIHNpdHMgaW4gdGUgZGVzY3JpcHRpb24gYXJlYSApXHJcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm11bHRpbWVkaWEtY29udGVudCBkZXNjcmlwdGlvblwiIFwibXVsdGltZWRpYS1jb250ZW50IGNvZGVcIiBcIm11bHRpbWVkaWEtY29udGVudCBwcmljZVwiIFwibXVsdGltZWRpYS1jb250ZW50IGludGVyYWN0aXZlXCI7XHJcbiAgICAvLyBFYWNoIHJvdyBleGNlcHQgdGhlIHByaWNpbmcgcm93IHRvIG1hdGNoIGl0cyBjb250ZW50IGhlaWdodCwgcmVhc29uIGZvciB0aGlzIGlzIHRvIGFsbG93IGFueSBhdmFpbGFibGUgaGVpZ2h0IHRvIGJlIHRha2VuIHVwIGJ5IHRoZSBwcmljaW5nIHRleHQgdGhpcyB3aWxsIGFsc28gcGluIHRoZSBpbnRlcmFjdGl2ZSBlbGVtZW50cyB0byB0aGUgYm90dG9tIG9mIHRoZSBjZWxsLlxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW4tY29udGVudCBtaW4tY29udGVudCAxZnIgbWluLWNvbnRlbnQ7XHJcbiAgICAvLyBEaXN0YW5jZSBiZXR3ZWVuIGVhY2ggY29udGVudCBjb250YWluZXIuXHJcbiAgICBnYXA6IDEwcHggMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMCUgMWZyO1xyXG4gICAgfVxyXG4gICAgLy8gPiBhOmZpcnN0LWNoaWxkIGlzIHRoZSBvbGQgd2F5IG9mIHRoaW5raW5nIGJlZm9yZSB3ZSBpbnRyb2R1Y2VkIHRoZSBmb3JtYWwgY29uY2VwdCBhcyBhIGNsYXNzLlxyXG4gICAgLm11bHRpbWVkaWEtY29udGVudCwgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBncmlkLWFyZWE6IG11bHRpbWVkaWEtY29udGVudDtcclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XHJcbiAgICB9XHJcbiAgICAuY29kZS1jb2wge1xyXG4gICAgICAgIGdyaWQtYXJlYTogY29kZTtcclxuICAgIH1cclxuICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgIGdyaWQtYXJlYTogcHJpY2U7XHJcbiAgICB9XHJcbiAgICAvLyBJbnRlcmFjdGl2ZSBhcmVhLCB0aGlzIGNvdWxkIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nICggYnV5IGJveGVzLCBsb2dpbiwgZW5xdWlyeSBvciBzdG9ja2xpbmUgYnV0dG9ucyApLlxyXG4gICAgLmludGVyYWN0aXZlLWNvbnRlbnQsIC5xdWFudGl0eS1jb250YWluZXIsIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCwgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgIGdyaWQtYXJlYTogaW50ZXJhY3RpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEZvcm0gbWl4aW5zIC0tLS0tIFxyXG4vLyAtLS0gRXJyb3IgQmxvY2sgLS0tIFxyXG5AbWl4aW4gZXJyb3ItYmxvY2soKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGgyLCBoNCB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGVycm9yLWJsb2NrLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXJyb3ItYmxvY2stZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLS0tIFBhZ2UgU3BlY2lmaWMgTWl4aW5zIC0tLS0tXHJcbi8vLS0tIFByb2R1Y3QgLS0tXHJcbkBtaXhpbiB0cmlwbGVNb2R1bGVTZWN0aW9uKCRwcml2YXRlVXNlQXJlYTpcIlwiLCAkaGFzSWNvbjogZmFsc2UgLCRpY29uQ29sb3VyOlwiXCIsICRmb250RmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgU29saWQnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1heC13aWR0aDogOTBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICAgICAgICBtYXJnaW46IDI1cHggYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGlmICgkaGFzSWNvbiA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJHByaXZhdGVVc2VBcmVhO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRpY29uQ29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaW1hZ2UzNjBPdmVybGF5KCRpY29uU2l6ZTogODAlLCAkb3ZlcmxheVNpemU6IDkwcHgpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBtYXgtd2lkdGg6ICRvdmVybGF5U2l6ZTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkb3ZlcmxheVNpemU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyMiwgMC4yKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgaW1hZ2UtMzYwKSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaWNvblNpemU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogKCRib3JkZXJSYWRpdXMyIC8gMik7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkY29sb3VyMy0xLCAwLjIpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJpY2UoJGlzLWxpc3Q6IGZhbHNlKSB7XHJcbiAgICAvLyB0ZCB7XHJcbiAgICAvLyAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHsgICAgXHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBUaGlzIHdhcyBwdXQgaW4gZm9yIG9wdGlvbmFsIGV4dHJhJ3Mgbm90IGFsaWduaW5nIHdpdGggdGguXHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIFRvIHByZXZlbnQgZHVwbGljYXRlIGxhYmVscyBpZiB0aGVyZSBpcyBvbmx5IG9uZSBwcmljZSBiZWluZyBvdXRwdXR0ZWQuXHJcbiAgICAuY29sLWxhYmVsICsgLnByaWNlcyB7XHJcbiAgICAgICAgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICAvLyBtaW4taGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBAaWYgKCRpcy1saXN0IGFuZCAkcHJpY2UtbGlzdC1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1saXN0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBDaGFuZ2luZyB0byBpbmxpbmUtZmxleCBkdWUgdG8gaW5jb25zaXN0ZW5jaWVzIG9uIHRoZSBwcm9kdWN0IGVucXVpcnkgcGFnZS5cclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByaWNlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDsgLy8gRm9sbG93IHNhbWUgcnVsZSBhcyBkZXNjcmlwdGlvbiB0byBicmluZyBtdWxpdHBsZSBsaW5lcyBjbG9zZXIgYXMgdGhleSByZWxhdGUuXHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgdmVydGljYWwgYWxpZ25tZW50IGlzc3VlcyB3aXRoIHZhdCB0ZXh0LlxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAmOmhhcygudmF0KSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcmljZS1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEF0dGVtcHRpbmcgdG8gcHJldmVudCBzbWFsbCBzdHJpbmdzIG9mIHRleHQgaW4gbGFiZWxzIGZyb20gd3JhcHBpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmIH4gLnZhdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQWRkaW5nIHBhZGRpbmcgbGVmdCBkdWUgdG8gb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlIHRoZSB2YXQgdGV4dCBhcyByZW5kZXJpbmcgcmlnaHQgdXAgYWdhaW5zdCB0aGUgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNhdmluZyB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzYXZpbmdzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzYXZpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2F2aW5ncy10ZXh0LXRyYW5zZm9ybSAhPSBub3JtYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzYXZpbmdzLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2F2aW5nLXN0cmlrZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ycnAge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcnJwLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHJycC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRycnAtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRycnAtdGV4dC10cmFuc2Zvcm0gIT0gbm9ybWFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcnJwLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRycnAtc3RyaWtlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhY2stcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHBhY2stcHJpY2UtY29sb3VyICE9ICRwcmljZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYWNrLXByaWNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wYWNrLXNpemUge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHBhY2stc2l6ZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2stc2l6ZS1jb2xvdXI7IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhY2staXRlbS1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1pdGVtLXNpemUtY29sb3VyICE9ICRwcmljZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHByaWNlLXRleHQtYWxpZ24gPT0gXCJjZW50ZXJcIiBhbmQgJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImxlZnRcIikge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiArIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICBAaWYgKCRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBIYWQgdG8gYWRkIG92ZXJyaWRlIGZvciBXaWxkIHRoaW5ncyBkdWUgdG8gaW5jb25zaXN0YW5jeSBpbiBsb2dpYyBvbiBvdGhlciBzaXRlcyAoIGkuZSBheGlzICkuXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJpY2UtbWFyZ2luO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgY29uc2lzdGVuY3kgaXNzdWVzIHdoZW4gZGlzcGxheWluZyBtdWxpcGxlIHByaWNlcy5cclxuICAgICAgICAvLyBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAuY3VycmVuY3kge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnZhdCB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS12YXQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcnJwKCkge1xyXG4gICAgLy8gLnJycCB7XHJcbiAgICAgICAgLy8gY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJycC1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkcnJwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbkBtaXhpbiBzYXZpbmcoKSB7XHJcbiAgICAvLyAuc2F2aW5nIHtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRzYXZpbmctZm9udC1zaXplKTtcclxuICAgICAgICAvLyBmb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodDtcclxuICAgICAgICAvLyBjb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgLy8gfVxyXG59XHJcblxyXG5AbWl4aW4gcXVhbnRpdHktc2VsZWN0b3ItbGFiZWwoKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRxdWFudGl0eS1sYWJlbC1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICBsaW5lLWhlaWdodDogJHF1YW50aXR5LWxhYmVsLWxpbmUtaGVpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcXVhbnRpdHktbGFiZWwtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcXVhbnRpdHktbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJHF1YW50aXR5LWxhYmVsLWNvbG91cjtcclxuICAgIEBpZiAoJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRxdWFudGl0eS1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgfSBcclxufVxyXG5cclxuQG1peGluIGNvbW1vbi1jaGVja2JveCgkZGltZW50aW9uczogJGNoZWNrYm94LWRpbWVudGlvbnMpIHtcclxuICAgIC8vIENhbGN1bGF0ZSByYWRpdXMuXHJcbiAgICAkY2hlY2tib3gtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgLy8gQ2FwIHJhZGl1cyBvdGhlcndpc2UgeW91IHdpbGwgZW5kIHVwIHdpdGggYSBjaXJjbGUuXHJcbiAgICBAaWYgKCRjaGVja2JveC1yYWRpdXMgPiA1KSB7XHJcbiAgICAgICAgJGNoZWNrYm94LXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG4gICAgLy8gLS0tIEJhc2UgY2hlY2tib3ggc3R5bGVzIC0tLVxyXG4gICAgKyBzcGFuIHtcclxuICAgICAgICB3aWR0aDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAkZGltZW50aW9ucztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAkY2hlY2tib3gtcmFkaXVzIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGNoZWNrYm94LXJhZGl1cztcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjaGVja2JveC10aWNrKTtcclxuICAgICAgICAgICAgd2lkdGg6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRkaW1lbnRpb25zIC8gMS43KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gU3BlY2lmaWMgY2hlY2tib3ggc3R5bGVzIC0tLSBcclxuICAgIC8vIERlZmF1bHQgU3RhdGUuXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIERpc2FibGVkICYgUmVhZCBPbmx5LlxyXG4gICAgJltyZWFkb25seV0gKyBzcGFuLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBIb3ZlciBTdGF0ZS5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmNoZWNrZWQgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZvY3VzLlxyXG4gICAgKyBzcGFuIHtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENoZWNrZWQgLyBBY3RpdmUgU3RhdGUuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRW5hYmxlZC5cclxuICAgICAgICAmOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRGlzYWJsZWQgJiBSZWFkIE9ubHkuXHJcbiAgICAgICAgJltkaXNhYmxlZF0sICZbcmVhZG9ubHldIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGFjdGl2ZS1kaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnVsbGV0cG9pbnQoKSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICRidWxsZXQtc2l6ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYnVsbGV0LXNpemU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidWxsZXQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnVsbGV0LWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gUHJvZHVjdCBjb2xsZWN0aW9uIHN0eWxlcy5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKCRpbnZlcnQtZWJnLWNvbG91cnM6IGZhbHNlLCAkaXMtZ3JpZC1jb2xsZWN0aW9uOiBmYWxzZSkge1xyXG4gICAgQGlmICgkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3IpIHtcclxuICAgICAgICY6bm90KC5taW5pZmllZC1sYXlvdXQpIHtcclxuICAgICAgICAgICAgLmNvbGxlY3Rpb24taXRlbSN7aWYoJGNvbGxlY3Rpb24tZWJnLWltYWdlLXNlcGVyYXRvciwnJywnOm5vdCguZWJnKScpfSAuY29udGVudC1jb250YWluZXI6bm90KC5pbWFnZSk6bm90KC5jb21wYWN0KSB7XHJcbiAgICAgICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3ItZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLXBvc2l0aW9uLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCBsZWZ0LCBpbWFnZSByaWdodFxyXG4gICAgJi5tdWx0aW1lZGlhLXJpZ2h0IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIodHJ1ZSk7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGdyb3VwcyBkb250IGhhdmUgYSBwcmljZS5cclxuICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgZ3V0dGVyIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBtYXJnaW4uXHJcbiAgICAgICAgICAgICAgICAkY29udGVudC1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEdpdmUgdGhlIHRleHQgbW9yZSBkb21pbmFuY2Ugb3ZlciB0aGUgaW1hZ2UgODQ0Njc4LiBcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNjAlIC0gMTBweCkgY2FsYyg0MCUgLSAxMHB4KTtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWdhcDogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBTcGVjaWZpYyBzdHlsZXMgZm9yIHByb2R1Y3QgY29sbGVjdGlvbnMuXHJcbiAgICAgICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1maXJzdC1pdGVtLXBhZGRpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWNhbGxiYWNrLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24taW1hZ2UtYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24sIC5jb2RlLCAucHJpY2VzLCAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAxLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMywgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpemUtZm9ybXMoKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1yZWFkLW1vcmUtY29udGVudC1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbnRlbnQgcmlnaHQsIEltYWdlIGxlZnRcclxuICAgICYubXVsdGltZWRpYS1sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgZ3JvdXBzIGRvbnQgaGF2ZSBhIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIFdvcmsgb3V0IHRoZSBjb250ZW50IGd1dHRlciBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gbWFyZ2luLlxyXG4gICAgICAgICAgICAkY29udGVudC1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgIGdhcDogMTBweCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgLy8gR2l2ZSB0aGUgdGV4dCBtb3JlIGRvbWluYW5jZSBvdmVyIHRoZSBpbWFnZSA4NDQ2NzguIFxyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDQwJSAtIDEwcHgpIGNhbGMoNjAlIC0gMTBweCk7XHJcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFNwZWNpZmljIHN0eWxlcyBmb3IgcHJvZHVjdCBjb2xsZWN0aW9ucy5cclxuICAgICAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1maXJzdC1pdGVtLXBhZGRpbmcoKTtcclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWNhbGxiYWNrLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKTtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWltYWdlLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2VzIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRlbnQgdG9wLCBpbWFnZSBib3R0b20uXHJcbiAgICAmLm11bHRpbWVkaWEtYm90dG9tIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBBc3N1bWluZyBmaXJzdCBhbmNob3IgaXMgdGhlIGltYWdlLCBhcyBvcmRlciBpcyBub3QgdXNlZCBvbiBhbnkgb2YgdGhlIG90aGVyIGVsZW1lbnRzIGluIHRoZSBjZWxsIHRoZW4gdGhpcyB3aWxsIGZvcmNlIHRoZSBpbWFnZSB0byB0aGUgYm90dG9tLlxyXG4gICAgICAgICAgICA+IGE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnbm9uLWNvbXBhY3QnKTs7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE1pbmlmaWVkLCByZXN0cmljdGVkIGltYWdlIHNpemUuXHJcbiAgICAmLm1pbmlmaWVkLWxheW91dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKCk7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTBweCAxZnI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQXNzdW1lIHRoZSBmaXJzdCBhbmNob3IgaXMgdGhlIGltYWdlLlxyXG4gICAgICAgICAgICA+IGE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuZGVzY3JpcHRpb24sIGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgeW91J3JlIGEgcHJvZHVjdCBjYXJvdXNlbC5cclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC8vIFNldCBoZWlnaHQgdG8gcmVhZCBtb3JlIGNvbnRlbnQgZnJvbSB0YWtpbmcgdXAgdGhlIGVudGlyZSBwYWdlIGFzIHRoZXNlIGFyZSBvZnRlciBmdWxsIENNUyBlbnRyaWVzLlxyXG4gICAgICAgICY6aGFzKC5yZWFkLW1vcmUpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBlQnVzc2luZXNzIGdyb3VwIHNwZWNpZmljIHN0eWxpbmcuXHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAvLyBUaGlzIG1lYW5zIHdlJ3JlIG9ubHkgc2hvd2luZyB0aGUgaW1hZ2UsIHNvIHJlbW92ZSBhZGRpdGlvbmFsIHBhZGRpbmcgdG8gbWFrZSB0aGUgY2VsbCBtYXRjaCB0aGUgaW1hZ2Ugc2l6ZS5cclxuICAgICAgICAgICAgJjpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgaXMgY2F1c2luZyBidXR0b24gYWxpZ25tZW50IGlzc3VlcyByZWdhcmRpbmcgZm91bmRhdGlvbidzIGVxdWFsaXplci5cclxuICAgICAgICAgICAgLy8gcGFkZGluZzogJGNvbGxlY3Rpb24tZWJnLWNlbGwtcGFkZGluZztcclxuICAgICAgICAgICAgJjpob3ZlciAuZGVzY3JpcHRpb24geyAgXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkaW52ZXJ0LWViZy1jb2xvdXJzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIC5kZXNjcmlwdGlvbiB7ICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkaW52ZXJ0LWViZy1jb2xvdXJzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gRm9sbG93IHByb2R1Y3QgY2VsbCBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24geyBcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWp1c3RpZnktY29udGVudCBhbmQgJGlzLWdyaWQtY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWFsaWduLWl0ZW1zIGFuZCAkaXMtZ3JpZC1jb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXNpemUgIT0gJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXdlaWdodCAhPSAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBncmlkIGNvbGxlY3Rpb24gdGhlbiBkb24ndCBhcHBseSBiYWNrZ3JvdW5kIGluIGRlZmF1bHQgc3RhdGUsIGlmIHRoaXMgaXMgYSBjYXJvdXNlbCB0aGVuIGFwcGx5IHRoZSBkZWZhdWx0IGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1lYmctZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm07ICAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybzsgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctaG92ZXItYm94LXNoYWRvdy1zdXBwcmVzcykge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFdvcmsgb3V0IHRoZSBjb250ZW50IHBhZGRpbmcgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIHBhZGRpbmcuXHJcbiAgICAkY29udGVudC1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdub24tY29tcGFjdCcpO1xyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBXaGVuIGluIG1vYmlsZSBmaXQtY29udGVudCBpbmNhc2UgdGhlcmUgaXMgYSBib3JkZXIgYXBwbGllZCwgaW4gdGhlIGNvbnRleHQgb2Ygd2lsZCB0aGluZ3MgdGhlIGJvcmRlciBzaG91bGQgd3JhcCBhcm91bmQgdGhlIGNvbnRlbnQgd2l0aG91dCBhIGd1dHRlciBSICsgTCwgU1VQUFJFU1NJTkc6IEFzIHRoaXMgd2FzIGNhdXNpbmcgYW4gaW1wYWN0IG9uIHBhY2thZ2luZ2RlcG90IGFuZCBtaWxlcyBmb3IgZWdiIG1vZHVsZXMgbm90IGZpbGxpbmcgY2VsbCB3aXRoIGJhY2tncm91bmQgY29sb3VyLCBhIGJldHRlciBzb2x1dGlvbiB3b3VsZCBiZSB0byBqdXN0IGNlbnRlciB0aGUgY29udGVudCB3aXRoaW4gdGhlIGNlbGwgdXNpbmcgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIERlZmF1bHQgdG8gZmxleCBsYXlvdXQuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgIC8vIFN1cHByZXNzIHRoaXMgYXMgc29tZSBkZXNpZ25zIGFsbG93IHRoZSBpbWFnZSB0byB0YWtlIGZ1bGwgd2lkdGggb2YgdGhlIGNlbGwgYW5kIHRoZW4gaW5kZW50IHRoZSBjb250ZW50LlxyXG4gICAgICAgIC8vICYucHJvZHVjdCB7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZztcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgJiArIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAvLyBCYXNlIHN0eWxlcyB0aGF0IGdldCB1c2VkIGluIGFsbCBsYXlvdXRzIC8gZGF0YSAoIGkuZSBwcm9kdWN0LCBlYmcsIGNtcyApXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2VzIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi10ZXh0LWFsaWduID09IGxlZnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkY29sbGVjdGlvbi10ZXh0LWFsaWduID09IHJpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1idXktYm94LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1idXktYm94LXBhZGRpbmctdG9wICRjb250ZW50LXBhZGRpbmcgc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmcsIDEpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgICAgIGdhcDogNXB4OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBzdG9jayBpbmRpY2F0b3JzIGhhdmUgYmVlbiBkaXNhYmFiZWQgdGhlbiBhZGQgc29tZSBzcGFjZSBiZXR3ZWVuIHByaWNlcyBhbmQgYnV0dG9uKHMpLlxyXG4gICAgICAgIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vd2lkdGg6IDY2JTtcclxuICAgICAgICAgICAgd2lkdGg6ICRjb2xsZWN0aW9uLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1idXR0b25zLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5taW5pZmllZCB7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24sIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1ob3Zlci11bmRlcmxpbmUsIHVuZGVybGluZSwgbm9uZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nLCB5b3UgbGF5b3V0IGNsYXNzZXMgaW5zdGVhZC5cclxuICAgICAgICAvLyAmLnByb2R1Y3Qge1xyXG4gICAgICAgIC8vICAgICAuaW1hZ2UgaW1nIHtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tcHJvZHVjdC1pbWFnZS1tYXJnaW47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGlzIGlzIHRyYW5zcGFyZW50IGp1c3QgaW5jYXNlIHdlIGhhdmUgYW55IC5wbmcgYmFubmVycy5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkY29sbGVjdGlvbi1pdGVtLXBhZGRpbmctYm90dG9tO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAuZ3JvdXAtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsIG5vbi1jb21wYWN0KSA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGlzIHdhcyBjYXVzaW5nIGlzc3VlIHdoZW4gYXBwbHlpbmcgbGF5b3V0IHN0eWxpbmcsIHdoaWNoIHdhcyBjYXVzaW5nIHRoaXMgcnVsZSB0byBiZSB2ZXJ5IGRpZmZjdWx0IHRvIG92ZXJyaWRlLlxyXG4gICAgICAgICAgICAgICAgLy8gJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIG5vbi1jb21wYWN0KTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIEZsaXAgdGhlIGxvZ2ljLlxyXG4gICAgICAgICAgICAgICAgJjppcyg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCk7XHJcbiAgICB9ICAgXHJcbiAgICAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgdG8gc2NhbGUgdGhlIGltYWdlIHRvIG1heCBhdmFsaWFibGUgc3BhY2UgKyBtYWtlIHN1cmUgLmltYWdlIGlzIGEgYmxvY2sgZWxlbWVudCBvciBpbWFnZSB3aWxsIGZhaWwgdG8gZGlzcGxheSBvbiBBcHBsZSBkZXZpY2VzLlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IHdhcyBjYXVzaW5nIHRoZSBlcXVhbGlzZXIgdG8gYXNzaWduIGhlaWdodDogMDsgZm9yIGlPUyBkZXZpY2VzIHVzaW5nIENocm9tZSBtb3JlIG9uIHRoaXMgb24gODQyNjg3LlxyXG4gICAgICAgIC8vIENoYW5nZSB0byBmaXQtY29udGVudCBmb3IgYm9yZGVyLXJhZGl1cyBlZmZlY3QgYXMgdGhpcyB3YXMgY3V0IG9mZiBpbiBjb21wYWN0IHZpZXcsIGNhbm5vdCB1c2UgdGhpcyBhcyBDaHJvbWUgb24gaU9TIGNhdXNlcyB0aGUgZXF1YWxpc2VyIHRvIGluY29ycmVjdGx5IGFzc2lnbiBoZWlnaHQ6IDA7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgIC8vYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgLy8gU2V0dGluZyBvdmVyZmxvdyB0byBlbnN1cmUgc3F1YXJlZCBpbWFnZXMgZG9uJ3Qgb3ZlcnJpZGUgdGhlIGJvcmRlci1yYWRpdXMgb2YgdGhlIGNlbGwgd2hpY2ggd2lsbCByZXN1bHQgaW4gc3F1YXJlZCBlZGdlcyBhdCB0aGUgdG9wIG9mIHRoZSBjZWxsIGFuZCByb3VuZGVkIGF0IHRoZSBib3R0b20uXHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGZsZXgtc2hpbmsgZHVlIHRvIGltYWdlcyBiZWluZyBzdHJldGNoZWQgaW4gaWUuXHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHByb2R1Y3QtbGlzdC1ncmlkLWxhYmVsLXZhbHVlLWFsaWdtZW5lbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlcGFydG1lbnQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLy8gQXMgd2UgZG9uJ3Qga25vdyB0aGUgZGVmYXVsdCBjb2xvdXIgdXNpbmcgYSBuZXV0cmFsIGNvbG91ciBpbnN0ZWFkLlxyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIGNvbG9yOiAgbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgIC5zcGVjaWZpY2F0aW9uIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2RlIHtcclxuICAgICAgICBjb2xvcjogJGNvbGxlY3Rpb24tY29kZS1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBwcmljZSh0cnVlKTtcclxuICAgIEBpbmNsdWRlIHJycCgpO1xyXG4gICAgQGluY2x1ZGUgc2F2aW5nKCk7XHJcbiAgICBmb3JtLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICB9XHJcbiAgICAuYWRkVG9CYXNrZXQuaWNvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmZhdm91cml0ZXNDb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC8vSGFuZGxlcyBxdWFudGl0eSBzZWxlY3RvcnMgdGhhdCBhcmUgaW4gdGhlIGNhcm91c2VsLlxyXG4gICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3BlY2lmaWNhbGx5IGZvciBrZWVwaW5nIHR5cG9ncmFwaHkgaW5zeW5jIGFjcm9zcyBjb2xsZWN0aW9ucyBhbmQgdGFibGVzLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKSB7XHJcbiAgICAuZ3JvdXAtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1hcnJhbmdlLXNpZGUoKSB7XHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDE3LjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gV2hlbiBzaG93aW5nIG11bHRpbWVkaWEgY29udGVudCByaWdodCBvciBsZWZ0IHRoZW4gYWRkIHBhZGRpbmcgYWJvdmUgdGV4dCBjb250ZW50IHNvIHRoZSBmaXJzdCBpdGVtIGlzIG5vdCByaWRpbmcgb24gdGhlIGJvcmRlciBvZiB0aGUgY29udGVudCBjb250YWluZXIuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZmlyc3QtaXRlbS1wYWRkaW5nKCkge1xyXG4gICAgLy8gQXNzdW1lIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGFuIGltYWdlLlxyXG4gICAgJjpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMSwgJ2NvbXBhY3QnKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpIHtcclxuICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24taW1hZ2UtYXJyYW5nZS1zaWRlKCkge1xyXG4gICAgLmltYWdlIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBmaXQtY29udGVudCB3aWxsIGZpZ2h0IGFnYWluc3QgYXNwZWN0LXJhdGlvIHJ1bGUgYXMgZml0LWNvbnRlbnQgd2lsbCB0cnkgdG8gc2hyaW5rIHRoZSBjb250YWluZXIgd2hlbiB0aGUgcGFnZSBpcyBsb2FkaW5nIGNhdXNpbmcgYSBDTFMgaXNzdWUuXHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1yZWFkLW1vcmUtY29udGVudC1jb250YWluZXIoKSB7XHJcbiAgICBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgIGhlaWdodDogMTI1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCkge1xyXG4gICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCkge1xyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzYlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpemUtZm9ybXMoKSB7XHJcbiAgICBmb3JtIHsgXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKCRyZXZlcnNlLWNvbHVtbnM6IGZhbHNlKSB7XHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgLy8gSXMgdGhpcyBhbiBFQkc/IFxyXG4gICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBNb3ZpbmcgdG93YXJkcyBjb250YWluaW5nIGFsbCBjZWxsIGNvcHkgLyBkZXRhaWxzIC8gZGF0YSBpbnRvIG9uZSBjb250YWluZXIuXHJcbiAgICAgICAgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAyLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmVtb3ZlIGdyaWQtcm93IGFuZCBqdXN0IGxldCB0aGUgZ3JpZCBhdXRvIHBsYWNlIHRoZSByZXN0IG9mIHRoZSBpdGVtcy5cclxuICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVuaXQtb2YtbWVhc3VyZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuQG1peGluIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCkge1xyXG4gICAgLy8gbWF4LXdpZHRoOiA5OCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaWYgKCRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRGVmYXVsdCBjb2xsZWN0aW9uIGJvcmRlci5cclxuQG1peGluIGNhcm91c2VsLWNvbGxlY3Rpb24tdW5kZXJsaW5lKCkge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1zbGlkZS1ib3JkZXItd2lkdGg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIEJhc2tldCBzdW1tYXJ5IHNlcGVyYXRvciAtLS0gXHJcbkBtaXhpbiBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgLy8gU3dpdGNoaW5nIHRvIHVzaW5nIGJvcmRlciBwcm9wZXJ0eSBpbnN0ZWFkIG9mIHNldHRpbmcgaGVpZ2h0IGFzIGdldHRpbmcgd2VpcmQgaW5jb25zaXN0YW5jaWVzIHdoZW4gdGhlIGJyb3dzZXIgcmVuZGVycyB0aGUgcnVsZXMgYnkgfi4zcHguIGh0dHBzOi8vam9obnJlc2lnLmNvbS9ibG9nL3N1Yi1waXhlbC1wcm9ibGVtcy1pbi1jc3MvXHJcbiAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLXJ1bGUtY29sb3VyO1xyXG4gICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvbG91cjtcclxufVxyXG5cclxuLy8gLS0tLS0gTm90aWZpY2F0aW9ucyAtLS0tLSBcclxuLy8gLS0tIE9uIHBhZ2UgLS0tIFxyXG5AbWl4aW4gb24tcGFnZS1ub3RpZmljYXRpb25zKCRwYWRkaW5nOiAoKSwgJG1hcmdpbjogKCksICRmb250LXNpemU6IDE0cHgsICRpY29uLXNpemU6IDE5cHgpIHtcclxuXHJcbiAgICAtLWZvbnQtZmFtaWx5OiAjeyRmb250QXdlc29tZVNvbGlkfTtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gSWYgY29udGVudCBpcyBpbiBhIGNvbnRhaW5lciB0aGVuIGRvbid0IHdyYXAgKCBlc3NlbnRpYWxseSBiYWNrd2FyZHMgc3VwcG9ydCApLlxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwKTtcclxuICAgIG1hcmdpbjogaWYobWFwLWhhcy1rZXkoJG1hcmdpbiwgcHJlc2V0LTEpLCBtYXAtZ2V0KCRtYXJnaW4sIHByZXNldC0xKSwgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tbWFyZ2luLCBwcmVzZXQtMikpO1xyXG4gICAgcGFkZGluZzogaWYobWFwLWhhcy1rZXkoJHBhZGRpbmcsIHByZXNldC0xKSwgbWFwLWdldCgkcGFkZGluZywgcHJlc2V0LTEpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCBwcmVzZXQtMSkpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgIEBpZiAoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXApO1xyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTdHlsZSBwcmVzZXRzLlxyXG4gICAgLy8gRGVmYXVsdCAvIFByZXNldC0xIGFyZSB0aGUgc2FtZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYmVmb3JlIHByZXNldCBjbGFzc2VzIHdlcmUgYSB0aGluZy5cclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gSW5pdGlhbCBsYXlvdXQgZm9yIGZ1bGwgcGFnZSBub3RpZmljYXRpb25zICggZS5nIG5vIGl0ZW1zIGZvdW5kIGluIGxpc3RzICkuXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyBNaW5pZmllZCBsYXlvdXQsIHdpdGggYWxpZ25tZW50IGxlZnQuXHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGlmKG1hcC1oYXMta2V5KCRwYWRkaW5nLCBwcmVzZXQtMiksIG1hcC1nZXQoJHBhZGRpbmcsIHByZXNldC0yKSwgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZywgcHJlc2V0LTIpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb21wYWN0IHZlcnNpb24gb24gcHJlc2V0LTEgKCBpLmUgcmVkdWNlZCBwYWRkaW5nICkgdG8gZml0IHdpdGhpbiBcclxuICAgICYucHJlc2V0LTMge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFR5cGUgcHJlc2V0cy5cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3VjY2Vzcy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBAaW5jbHVkZSBhbGVydC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICB9XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBkaXNhYmxlZC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICB9XHJcbiAgICAmLmluZm9ybWF0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBpbmZvcm1hdGlvbi1jbXMtY29udGFpbmVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiB0eXBlcy5cclxuICAgICYuaWNvbi1ub24tcmV0dXJuYWJsZSB7XHJcbiAgICAgICAgLS1mb250LWZhbWlseTogI3skZXhwcmVzcy1kZWZhdWx0LWljb25zfTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vbi1yZXR1cm5hYmxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXNlZCB3aGVuIHNob3dpbmcgdGVjaG5pY2FsIGVycm9ycyB0byBwcmVmaXggdGhlIGFjdHVhbCBlcnJvciBpbiBhIGVuZCB1c2VyIGZyaWVuZGx5IGZvcm1hdC5cclxuICAgIC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lciAoIGZhbGxiYWNrIGlmIG5vIHByZXNldCBpcyBhc3NpZ25lZCApXHJcbiAgICA+IHAge1xyXG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAvLyBHbyB0byBiZSBiYXNlbGluZSBvdGhlciBhbmNob3JzIHdpbGwgYXBwZWFyIG9uIGEgZGlmZmVyZW50IGxpbmUgb24gc29tZSBmb250cyAoIGkuZSBmdW50aW1lICkuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byBzcGFjaW5nLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXAsIDIsIGxhcmdlKSBhdXRvIDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQsICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1saW5lLWhlaWdodCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXIuXHJcbiAgICA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICN7KCRpY29uLXNpemUgKyA1KX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG5AbWl4aW4gZGlzYWJsZWQtY21zLWNvbnRhaW5lcigpIHtcclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaW5mb3JtYXRpb24tY21zLWNvbnRhaW5lcigpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGluZm9ybWF0aW9uKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgaW5mb3JtYXRpb24pO1xyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaW5mby1jaXJjbGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgaW5mb3JtYXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGluZm9ybWF0aW9uKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYWxlcnQtY21zLWNvbnRhaW5lcigpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIH0gICAgXHJcbn1cclxuQG1peGluIHdhcm5pbmctY21zLWNvbnRhaW5lcigpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIHdhcm5pbmcpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIHN1Y2Nlc3MpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ01TIE1peGlucyAtLS0tLSBcclxuQG1peGluIGNtcy10YWJsZSgpIHtcclxuICAgIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLXRhYmxlLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICY6bm90KFtjbGFzcyo9cHJlc2V0XSkge1xyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBzZXQgdGhlIGNvbG91ciBoZXJlIGFzIGl0IGdldHMgZGlmZmljdWx0IHRvIG92ZXJyaWRlICggaS5lIGludGVybmFsIG9ubHkgZG9jdW1lbnRhdGlvbiApLCBpbnN0ZWFkIGVpdGhlciB1c2UgcHJlc2V0cyBvciBzZXQgdGhlIGRlZmF1bHQgaW4gX3NldHRpbmdzLnNjc3MgJHRhYmxlLWhlYWQtZm9udC1jb2xvci5cclxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdChbY2xhc3MqPXByZXNldF0pIHtcclxuICAgICAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1oZWFkZXItY29sdW1uLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHsgIFxyXG4gICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiAkY21zLXRhYmxlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtdGFibGUtY29sdW1uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT25seSBhcHBseSB0aGUgZ2FwIGlmIHRoZXJlIGlzIHRoZWFkIGJlZm9yZS5cclxuICAgICAgICB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLWhlYWRlci1ib2R5LW1hcmdpbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7ICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5uby13cmFwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29tcGFyaXNvbi10YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCRtYXJnaW46ICR0Ym9keS1tYXJnaW4pIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1ibG9ja3F1b3RlKCkge1xyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWJsb2NrcXVvdGUtcGFkZGluZyk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1ibG9ja3F1b3RlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGlmICgkY21zLWJsb2NrcXVvdGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpoYXMoaW1nKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY21zLWJsb2NrcXVvdGUtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyBibG9ja3F1b3RlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBibG9ja3F1b3RlKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtYmxvY2txdW90ZS1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNtcy1ibG9ja3F1b3RlLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYmxvY2txdW90ZS1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtaGVhZGluZ3MoKSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgxKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgxKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDEpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGgxKTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoMSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDEpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDEpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDIpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDIpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgyKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoMik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDIpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGgyKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMikpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMikpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMykpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDMpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDMpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgzKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoMyk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDMpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGgzKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgzKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNCB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg0KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNCkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDQpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg0KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNCkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDUge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDUpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg1KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNSk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDUpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg2IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDYpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDYpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg2KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg2KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDYpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg2KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg2KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg2KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1wYXJhZ3JhcGgoJGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0OiAkY21zLXBhcmFncmFwaC1saW5lLWhlaWdodCwgJGZvbnQtc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplKSB7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sICRjbXMtcGFyYWdyYXBoLW1hcmdpbik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICAvLyBJZiBhbiBpbWFnZSBpcyBiZWxsb3cgJiBsZWZ0IGFsaWduZWQuXHJcbiAgICAgICAgLy8gU3dpdGNoaW5nIHRvIGVtJ3MgdG8gc2NhbGUgbWFyZ2luIHdpdGggaW5saW5lIGZvbnQgc2l6ZSwgdGhpcyB3YXMgYSBwcm9ibGVtIGZvciBDS0VkaXRvcjQgd2hlbiB0aGUgZmxvYXQgcHJvcGVydHkgaXMgYXBwbGllZCB2aWEgaW5saW5lIHN0eWxlcyB0byB0aGUgaW1nIGFnYWluc3QgYSBzaW5nbGUgbGluZSBwaWVjZSBvZiB0ZXh0IHdoaWNoIHdvdWxkIGNhdXNlIHRoZSBsYXlvdXQgdG8gYnJlYWsuXHJcbiAgICAgICAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgJltzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBhbiBpbWFnZSBpcyBiZWxsb3cgJiByaWdodCBhbGlnbmVkLlxyXG4gICAgICAgIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgJltzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuMmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFyYWdyYXBoLXN0cm9uZy1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLXN0cm9uZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFyYWdyYXBoLXN0cm9uZy1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLXN0cm9uZy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLWxpc3RzKCRmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodDogJGNtcy1saXN0LWxpbmUtaGVpZ2h0LCAkZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUpIHtcclxuICAgIHVsLCBvbCB7XHJcbiAgICAgICAgLy8gTGlzdHMgc2hvdWxkIGFsd2F5cyBpZ25vcmUgY29udGFpbmVyIHRleHQtYWxpZ24gYW5kIGJlIGFsaWduZWQgdG8gdGhlIGxlZnQuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46ICRjbXMtbGlzdC1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIC8vIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAvL21hcmdpbjogMjVweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLWxpc3QtcGFkZGluZywgNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGxpIHtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3MgYXMgd2UncmUgdXNpbmcgdGhlIHBzZXVkbyBlbGVtZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vICY6Om1hcmtlciB7XHJcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjMtNztcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogdGhpcyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMTM2OTg0My9pcy10aGVyZS1hLXdheS10by1tYWtlLW51bWJlcnMtaW4tYW4tb3JkZXJlZC1saXN0LWJvbGRcclxuICAgIG9sIHtcclxuICAgICAgICBtYXJnaW46ICRjbXMtbGlzdC1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogJGNtcy1saXN0LXBhZGRpbmc7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xyXG4gICAgICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgLy8gPiB1bCBsaSArIGxpIHtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgIC8vIH1cclxuICAgIC8vIE1ha2Ugc3VyZSBsaXN0cyBkb250IGJ1dHQgdXAgYWdhaW5zdCBoZWFkaW5ncy5cclxuICAgIHVsICsgaDEsIG9sICsgaDEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoMVwiKTtcclxuICAgIH1cclxuICAgIHVsICsgaDIsIG9sICsgaDIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoMlwiKTtcclxuICAgIH1cclxuICAgIHVsICsgaDMsIG9sICsgaDMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoM1wiKTtcclxuICAgIH1cclxuICAgIHVsICsgaDQsIG9sICsgaDQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoNFwiKTtcclxuICAgIH1cclxuICAgIHVsICsgaDUsIG9sICsgaDUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoNVwiKTtcclxuICAgIH1cclxuICAgIHVsICsgaDYsIG9sICsgaDYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1oZWFkaW5nLW1hcmdpbiwgMywgXCJoNlwiKTtcclxuICAgIH1cclxuICAgIGRsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWNvZGUoKSB7XHJcbiAgICBjb2RlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmcpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtY29kZS1ibG9jay1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlLWNvcHktYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgcGFkZGluZyAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNsaXBib2FyZC1jb3B5KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgZm9udC1zaXplICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSwgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1hbmNob3IoKSB7XHJcbiAgICBhIHtcclxuICAgICAgICAvLyBBdm9pZCBzdHlsaW5nIGlmIHRoaXMgaXMgYSBidXR0b24uXHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyBpdCB3YXMgZ2V0dGluZyBpbiB3YXkgb2YgYW5jaG9yIGluc2lkZSBvZiB0YWJsZXMgd2hlbiBuZXN0ZWQgaW4gY21zIGNvbnRlbnQuXHJcbiAgICAgICAgLy8gJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgJltocmVmXj1cInRlbDpcIl0sICZbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICAgICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYW5jaG9yLWNvbnRhY3Qtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2hvdy1jb250YWN0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGVsZXBob25lKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIEdpdmUgdGhlIGFuY2hvciBzb21lIGJyZWF0aGluZyByb29tIGZyb20gdGhlIHJlc3Qgb2YgdGhlIGNvbnRlbnQuXHJcbiAgICAvLyBEb24ndCBhcHBseSB0aGUgcGFkZGluZyBpZiB0aGlzIGlzIGEgYnV0dG9uLlxyXG4gICAgcFxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgICAgICAgJGFuY2hvci1ndXR0ZXItc3BhY2luZzogMCA1cHg7XHJcbiAgICAgICAgICAgIC8vIEFzIGEgdGVzdCB0byBzdHJpbmsgY29udGVudCBpLmUgaW1hZ2VzIGRvd24uXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAvLyBDaGFuZ2luZyB0byByb3cgaW5jYXNlIHRoZXJlIGlzIG1hcmt1cCBpbnNpZGUgb2YgdGhlIGFuY2hvciAoIGkuZSBzdHJvbmcgZm9yIGF4aXMgdk1lcmNoYW50IClcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAkYW5jaG9yLWd1dHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICAvL3BhZGRpbmc6ICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWFuY2hvci13ZWlnaHQ7XHJcblxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtaW1hZ2UoKSB7XHJcblx0Ly8gQ2tlZGl0b3IgNSB3cmFwcyBhbGwgaW1hZ2VzIGluIGEgZmlndXJlIHRoZW4gYXBwbGllcyBjbGFzc2luZyBmb3IgYWxpZ25tZW50IGluc3RlYWQgb2YgZGlyZWN0bHkgYWRkaW5nIGlubGluZSBDU1MsIHdoZW4gYSBwYWdlIGlzIHJlbmRlcmVkIHRoZSBDa2VkaXRvcidzIHN0eWxlc2hlZXQgaXMgbm90IGxvYWRlZCBpbiBvbmx5IHdoZW4gaW4gdGhlIGVkaXRvciBpcyBpbml0aWFsaXNlZC5cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgLy8gSWYgQ0tFZGl0b3IgaGFzIGFzc2lnbmVkIGEgYWJzb2x1dGUgd2lkdGggbWFrZSBzdXJlIGl0IGRvZXNuJ3QgZXhwYW5kIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0IHdoZW4gaW4gbW9iaWxlLlxyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogJGNtcy1pbWFnZS1zcGFjaW5nO1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgQ2tlZGl0b3IuXHJcbiAgICAgICAgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgZml0LWNvbnRlbnQgdG8gYWxsb3cgZm9yIHRoZSBjb250YWluZXIgdG8gbWF0Y2ggdGhlIGltYWdlIHdpZHRoIGJ1dCBwcmV2ZW50IHRoZSBjYXB0aW9uIGZyb20gZXhwYW5kaW5nIGZ1cnRoZXIgdGhhbiB0aGUgaW1hZ2Ugd2lkdGguXHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgbWFyZ2luOiAkY21zLWltYWdlLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRleHQgZmxvdyBhcm91bmQgdGhlIGltYWdlLlxyXG5cdFx0Ji5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgLy8gTWF0Y2ggdG9wICsgYm90dG9tLlxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLWltYWdlLXNwYWNpbmcsIDEpO1xyXG5cdFx0fVxyXG5cdFx0Ji5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIC8vIE1hdGNoIHRvcCArIGJvdHRvbS5cclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSk7XHJcblx0XHR9XHJcbiAgICAgICAgLy8gVGV4dCBicmVhay5cclxuICAgICAgICAmLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJltjbGFzcyo9XCJpbWFnZS1zdHlsZS1ibG9ja1wiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDIpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1pbWFnZS1nYWxsYXJ5KCkge1xyXG4gICAgZGl2LmdhbGxhcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICAgICAgJi5jZWxsLWd1dHRlcnMge1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gaW1nIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMteW91dHViZS12aWRlbygpIHtcclxuICAgIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vXCJdIHtcclxuICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1nb29nbGUtbWFwcy1lbWJlZGRlZCgpIHtcclxuICAgIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2VtYmVkXCJdIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICBAaWYgJHNtb290aC1lZGdlcy1lbmFibGVkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbn1cclxuLy8gVXNlZCBmb3IgcmVhZCBtb3JlIHRleHQuXHJcbkBtaXhpbiBzaW1wbGUtZmFkZSgkb3BhY2l0eTogJGRlZmF1bHQtZmFkZS1vcGFjaXR5LCAkZmVhdGhlcjogJHJlYWQtbW9yZS1mZWF0aGVyLWRlZmF1bHQpIHtcclxuICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50ICRvcGFjaXR5LCAkcmVhZC1tb3JlLWZhZGUtY29sb3VyICRmZWF0aGVyKVxyXG59XHJcbi8vIFNwZWVjaCBidWJibGUgZ2VuZXJhdG9yICggaHR0cHM6Ly9wcm9qZWN0cy52ZXJvdS5tZS9idWJibHkvICkuXHJcbi8vICRzaWRlOiBcInRvcCwgcmlnaHQsIGJvdHRvbS4gbGVmdFwiXHJcbkBtaXhpbiBzcGVlY2gtYnViYmxlKCRzaWRlOiBcInRvcFwiLCAkcG9pbnRlci1zaXplOiA1cHgsICRib3JkZXItY29sb3VyOiAkY29sb3VyNCwgJGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSkge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUtcG9pbnRlcigkc2lkZSwgJHBvaW50ZXItc2l6ZSwgJGJvcmRlci1jb2xvdXIpO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZS1wb2ludGVyKCRzaWRlLCAoJHBvaW50ZXItc2l6ZSAtIDMpLCAkYmFja2dyb3VuZC1jb2xvdXIsIHRydWUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gc3BlZWNoLWJ1YmJsZS1wb2ludGVyKCRzaWRlLCAkcG9pbnRlci1zaXplLCAkYm9yZGVyLWNvbG91ciwgJGlzLWludGVybmFsLWFycm93OiBmYWxzZSkge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBAaWYgJHNpZGUgPT0gXCJ0b3BcIiB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJyaWdodFwiIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgID09IFwiYm90dG9tXCIge1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEF0dGVtcHQgdG8gc2NhbGUgaW50ZXJuYWwgYXJyb3cgYmFzZWQgb24gdGhlIHRvb2x0b3AgY29udGVudCBib3JkZXIuXHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAje2lmKCRpcy1pbnRlcm5hbC1hcnJvdywgKCRwb2ludGVyLXNpemUgKyAoJHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGggLyAyKSksICRwb2ludGVyLXNpemUpfXB4O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBAaWYgJHNpZGUgPT0gXCJ0b3BcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7aWYoJGlzLWludGVybmFsLWFycm93LCAoJHBvaW50ZXItc2l6ZSArICgkdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aCAvIDIpKSwgJHBvaW50ZXItc2l6ZSl9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcInJpZ2h0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJib3R0b21cIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYm9yZGVyLWNvbG91cjs7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICB9XHJcbn1cclxuXHJcbi8vIE9yZGVyIFRhYmxlIHN0eWxlcyAoIHVzZWQgZm9yIGJhc2tldCwgY2hlY2tvdXQgY29tcGxldGUgJiB2aWV3IG9yZGVyIClcclxuQG1peGluIG9yZGVyLXRhYmxlKCkge1xyXG4gICAgLy8gR2xvYmFsIGJhc2tldCB0YWJsZSBwcm9wZXJ0aWVzLlxyXG4gICAgdGQsIHRoIHtcclxuICAgICAgICAmOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0ZCB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgICAgICBwYWRkaW5nOiAkb3JkZXItbW9iaWxlLXJvdy1wYWRkaW5nO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgICYucmVhZC1vbmx5IHtcclxuICAgICAgICAvLyB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDY7XHJcbiAgICAgICAgICAgIC8vIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvLyAubGFiZWwge1xyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAvLyAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiA3O1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyAubGFiZWwge1xyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAvLyAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZC5hZGQtdG8tYmFza2V0LWNvbCB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiA4O1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmJhc2tldC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgd2lkdGggc28gb3B0aW9uYWwgZXh0cmEncyB3aXRob3V0IGFuIGltYWdlIHRoZSBkZXNjcmlwdGlvbnMgaG9sZHMgaW4gcGxhY2UuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxNzVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBsYXJnZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbm5vdCBwcmV2ZW50IGhlaWdodCBkdWUgdG8gbmVlZGluZyB0byBzdXBwb3J0IHJlY3RhbmdsZSBpbWFnZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9oZWlnaHQ6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkb3JkZXItdGFibGUtaW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiAxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyIHNwYW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERvbnQgc2V0IGEgYWJzb2x1dGUgd2l0aCBvdGhlcndpc2UgdGhpcyB3aWxsIG5vdCBzY2FsZSB3ZWxsLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKTtcclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGJhc2tldC1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICB9ICBcclxuICAgICAgICAuc3RvY2tXYXJuaW5nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbG91cjMtMywgMC42KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGJvZHktYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHRib2R5LWFuY2hvci1mb250LXNpemUgLSAxKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm9uLXJldHVybmFibGUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3RvY2staW5kaWNhdG9yLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkpO1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgIH1cclxuICAgIC5iYXNrZXQtY29kZS1jb2wge1xyXG4gICAgICAgIC8vIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIC8vIG9yZGVyOiAzO1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG9yZGVyLXRhYmxlLWNvZGUtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1wcmljZS1jb2wsIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhdC1yYXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgdGQuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICBmb250LXdlaWdodDogJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWRkLXRvLWJhc2tldC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICAvLyB3aWR0aDogMzUlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBvcmRlcjogNTtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgc3R5bGVzIGZvciB0aGUgZnJlZSB0ZXh0IHF1YW50aXR5IHNlbGVjdG9yLlxyXG4gICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1zdWItdG90YWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb3JkZXItdGFibGUtc3ViLXRvdGFsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkb3JkZXItdGFibGUtc3ViLXRvdGFsLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5iYXNrZXQtcmVtb3ZlLWNvbCB7ICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGxcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6ICRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXRCb2R5UmVtb3ZlQ29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgZm9yIGdlbmVyaWMgLnJlbW92ZS1idXR0b24gaW4gX3RhYmxlcy5zY3NzLlxyXG4gICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSk7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogKCRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemUgLyA0KTtcclxuICAgICAgICAvLyAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gJjpob3ZlciB7XHJcbiAgICAgICAgLy8gICAgICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmOmFjdGl2ZSB7XHJcbiAgICAgICAgLy8gICAgICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYmFza2V0VXBkYXRlUm93IHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJhc2tldEhlYWRCb3JkZXJDb2xvdXI7XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWl0ZW0tcm93IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIC8vIFdlIHVzZWQgdG8gbm90IHVzZSBncmlkIGxheW91dCBkdWUgdG8gSUUgc3VwcG9ydCBidXQgYXMgd2Ugbm8gbG9uZ2VyIHN1cHBvcnQgSUUgdGltZSB0byBtYWtlIG91ciBsaWZlJ3MgZWFzaWVyIS5cclxuICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIDIgY29sdW1uIGFycmFuZ2VtZW50LlxyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpIG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdGFuZGFyZCBzdHlsZXMgYWRkZWQgdG8gbWVudSBkcm9wZG93bnMuXHJcbkBtaXhpbiBkcm9wZG93bi1mb290ZXIoJHN1cHByZXNzLXBhZGRpbmc6IGZhbHNlKSB7XHJcbiAgICBAaWYgbm90ICgkc3VwcHJlc3MtcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbW9iaWxlLW1lbnUtZm9vdGVyLXBhZGRpbmctYm90dG9tOyBcclxuICAgIH1cclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyLWJvcmRlcjtcclxufVxyXG5cclxuQG1peGluIGRyb3Bkb3duLWZvb3Rlci1ib3JkZXIoKSB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1jb2xvdXI7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1zaXplIDA7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG59XHJcblxyXG4vLyBNZW51IGhvdmVyIGljb24gLyBpcy1zdWJtZW51LXBhcmVudC5cclxuQG1peGluIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZWdhLW1lbnUtbGluay1pY29uKTtcclxuICAgICAgICBoZWlnaHQ6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWxpbmstaWNvbi1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBBbHdheXMgc2hvdyBhcnJvd3MgaW4gbW9iaWxlLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWxpbmstaWNvbi1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY29udGVudC1sb2FkaW5nLXNwaW5uZXIoJHNwaW5uZXItY29sb3VyOiAkY29sb3VyNCkge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemUgLSAoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0ICogMik7XHJcbiAgICAgICAgaGVpZ2h0OiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplIC0gKCRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCAqIDIpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlcjogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0IHNvbGlkIHJnYmEoJHNwaW5uZXItY29sb3VyLCAuMik7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0IHNvbGlkICRzcGlubmVyLWNvbG91cjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDBzO1xyXG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAuN3MgY3ViaWMtYmV6aWVyKDAuNTYwLCAwLjExMCwgMC4yMjAsIDAuODY1KSAwcyBpbmZpbml0ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLy8gYW5pbWF0aW9uIGtleWZyYW1lc1xyXG4gICAgQGtleWZyYW1lcyBzcGluIHtcclxuICAgICAgICBmcm9tICB7IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxyXG4gICAgICAgIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJbiBtb2JpbGUgdGhlIHRvZ2dsZSBiYXIgdHJpZ2dlcnMgdGhpbmdzIGxpa2UgYmFza2V0LCBzZWFyY2ggJiBzaXRlIG5hdmlnYXRpb24sIHRoaXMgaXMgdGhlIGdlbmVyaWMgc3R5bGVzIHRob3NlIG1lbnUncyAvIHBvcHVwcyB1c2UuXHJcbkBtaXhpbiBoZWFkZXItbW9iaWxlLW1lbnUoKSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0O1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIHotaW5kZXg6ICRoZWFkZXItbW9iaWxlLW1lbnUtei1pbmRleDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJ1aWxkIGNvbG91ciBwYWxsZXRlIHRvbmVzLlxyXG5AbWl4aW4gc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKCRjb2xvdXItbmFtZSwgJGNvbG91cnMpIHtcclxuICAgIC8vIENoZWNrIGlmIHZhcmlhYmxlIGV4aXN0LlxyXG4gICAgQGlmIG5vdCAodmFyaWFibGUtZXhpc3RzKCRjb2xvdXItbmFtZSkpIHtcclxuICAgICAgICBAZGVidWcgXCJDb2xvdXIgbWFwIFwiICN7JGNvbG91ci1uYW1lfSBcIiBkb2Vzbid0IGV4aXN0IGZvciBzaXRlICN7JHNpdGV9XCI7XHJcbiAgICB9XHJcbiAgICBAZWFjaCAkbGlnaHRuZXNzLCAkY29sb3VyIGluICRjb2xvdXJzIHtcclxuICAgICAgICAtLSN7JGNvbG91ci1uYW1lfS1saWdodG5lc3MtI3skbGlnaHRuZXNzfTogI3skY29sb3VyfTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVnYSBtZW51IHBhcmVudCBsZXZlbCAyIHN0eWxlcy5cclxuQG1peGluIG1lZ2EtbWVudS1sZXZlbC0yLWFuY2hvcigkcGFyZW50LWNvbG91cikge1xyXG4gICAgPiBhIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcpICE9ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiAkcGFyZW50LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXNpemUpKTtcclxuICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LXBhcmVudC1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9IFwibm9uZVwiKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtZWdhLW1lbnUtcGFyZW50LXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lZ2EgbWVudSByb290IHBhcmVudCBkcm9wZG93biBhcnJvd3MuXHJcbkBtaXhpbiBtZWdlLW1lbnUtcm9vdC1kcm9wZG93bi1hcnJvdygkZGVmYXVsdC1jb2xvdXIsICRob3Zlci1jb2xvdXIpIHtcclxuICAgICY6aG92ZXIgPiBhIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0eWxlcy5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMCBhdXRvIDRweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRvb2x0b3AgY29udGVudCBjb250YWluZXIgcG9zaXRpb25pbmcsIHRoaXMgZ2V0cyBjYWxsZWQgaWYgdGhlIGNvbnRlbnQgZ2V0cyB3cmFwcGVkIGluIGFkZGl0aW9uYWwgY29udGFpbmVyKHMpXHJcbkBtaXhpbiB0b29sdGlwLWNvbnRlbnQtcG9zaXRpb25pbmcoKSB7XHJcbiAgICB3aWR0aDogJHRvb2x0aXAtY29udGVudC1jb250YWluZXItd2lkdGg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLy8gVmlkZW8gcGxheSBpY29uIG92ZXJsYXkuXHJcbkBtaXhpbiB2aWRlby1wbGF5LWljb24tb3ZlcmxheSgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbik7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIEFkZCBzbGlnaHQgc2hpbSBkdWUgdG8gZmxleGJveCBub3QganVzdGlmeWluZyBwZXJmZWN0bHkgY2VudGVyLlxyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQpfSk7O1xyXG4gICAgICAgIGJvcmRlcjogI3skdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJvcmRlci13aWR0aH0gc29saWQgdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBWaWRlbyByZXBsYXkgaWNvbiBvdmVybGF5LCB0aGlzIHdhcyBpbXBsZW1lbnRlZCBhZnRlciB0aGUgdmlkZW8tcGxheS1pY29uIHJ1bGVzLCBpbiBoaW5kc2lnaHQgdGhpcyBjb3VsZCBiZSBtYWtlIG1vcmUgbW9kdWxhci5cclxuQG1peGluIHZpZGVvLXJlcGxheS1pY29uLW92ZXJsYXkoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItcmVwbGF5LXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTs7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZm9udC1mYWxsYmFjaygkbmFtZSwgJGZhbGxiYWNrLCAkbWV0cmljcykge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICcjeyRuYW1lfSBGYWxsYmFjayc7XHJcbiAgICAgICAgc3JjOiBsb2NhbCgnI3skZmFsbGJhY2t9Jyk7XHJcbiAgICAgICAgc2l6ZS1hZGp1c3Q6IG1hcC1nZXQoJG1ldHJpY3MsIHNpemUtYWRqdXN0KTtcclxuICAgICAgICBhc2NlbnQtb3ZlcnJpZGU6IG1hcC1nZXQoJG1ldHJpY3MsIGFzY2VudC1vdmVycmlkZSk7XHJcbiAgICAgICAgZGVzY2VudC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgZGVzY2VudC1vdmVycmlkZSk7XHJcbiAgICAgICAgbGluZS1nYXAtb3ZlcnJpZGU6IG1hcC1nZXQoJG1ldHJpY3MsIGxpbmUtZ2FwLW92ZXJyaWRlKTtcclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiR1bml0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuIGRpdmlkZSgkbnVtLCAkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEBpZiAkdW5pdC13YXJuaW5ncyB7XG4gICAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgfVxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuIGRpdmlkZSgkdmFsdWUsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIC0tLS0tIFRhYmxlIFN0eWxlcyAtLS0tLSBcclxuLy8gLS0tIFRhYmxlIEhlYWQgLS0tIFxyXG4udGFibGUtZm9vdGVyLXNwYWNlciB7XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodCBzb2xpZCAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgIH1cclxufVxyXG50YWJsZSB7XHJcblxyXG4gICAgLS1ib3JkZXItY29sb3VyOiAje2RlZmF1bHQtY29sb3VyKCR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cil9O1xyXG4gICAgLS1ib3JkZXItaG92ZXItY29sb3VyOiAje2hvdmVyLWNvbG91cigkdGJvZHktcm93LWJvcmRlci1jb2xvdXIpfTtcclxuXHJcbiAgICAvLyBTZXR0aW5nIGhlaWdodCBwcm9wZXJ0eSB0byBhbGxvdyBmb3IgPGRpdj4ncyBpbnNpZGUgb2YgPHRkPidzIHRvIHNwYW4gZnVsbCBoZWlnaHQsIGZvciBtb3JlIGFib3V0IHRoaXMgY2hhbmdlIHBsZWFzZSBzZWUgS2FwZXJzdG9uZSdzIGNvbW1lbnQgaGVyZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zMjE1NTUzL21ha2UtYS1kaXYtZmlsbC1hbi1lbnRpcmUtdGFibGUtY2VsbFxyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24sIHdoZW4gc2V0dGluZyBzbW9vdGgtZWRnZXMgdGhlICRnbG9iYWwtcmFkaXVzIHZhbHVlIGdldHMgc2V0IHRoaXMgY3JlYXRlIGEgd2VpcmQgZWZmZWN0IGluIG1vZHVsZSBjYXVzaW5nIHRoZSB0ZCdzIGJvcmRlciB0byBvdmVyZmxvdyB0aGUgcmFkaXVzLlxyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICYuc3RyaXBlZCB7XHJcbiAgICAgICAgdHIgeyBcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgLy8gRW5zdXJlIGJhY2tncm91bmQtY29sb3IgZ2V0cyByZW5kZXJlZCBpbiBwcmludCBtb2RlLlxyXG4gICAgICAgICAgICAvLyBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgICAgICAgICAgLy8gLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgLy8gJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgZm9yIGNhbGwgcG9ydGFsIGRlc2lnbi5cclxuICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGQgcnVsZXMgdG8gdGhlIGJvdHRvbSBvZiBlYWNoIHJvdy5cclxuICAgICYuc2hvdy1ib3JkZXItYm90dG9tIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeygkdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nICogMil9O1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaG93IGJvcmRlcnMgYXJvdW5kIGVudGlyZSB0YWJsZSAmIGNlbGxzLlxyXG4gICAgJi5zaG93LWJvcmRlcnMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTaG93IG9ubHkgaW50ZXJuYWwgYm9yZGVycy5cclxuICAgICYuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCYXNpY2FsbHkgdHJlYXQgdGhlIGZpcnN0IGNvbHVtbiBsaWtlIGEgdmVydGljYWwgdGhlYWQuXHJcbiAgICAmLmhpZ2hsaWdodC1maXJzdC1jb2x1bW4ge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gR2VuZXJhbCBzdHlsZXMgdXNlZCBhY3Jvc3MgdGhlIHNpdGUuXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCR0YWJsZS1wcmVzZXQtMS1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkdGFibGUtcHJlc2V0LTEtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdy1zcGFjaW5nIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAjeygkdGJvZHktbWFyZ2luIC0gKHNwYWNpbmctdmFsdWUoJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZywgMikgKiAyKSl9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxlLWhlYWRlci1ib2R5LW1hcmdpbigpO1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggc3BhY2luZy12YWx1ZSgkdGhlYWQtcHJlc2V0LTEsIDIsIHBhZGRpbmcpOyBcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmltYWdlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy01O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bm90KC5wZGYtZG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBwcmltYXJpbHkgaW4gdGhlIGJhc2tldC5cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0NXB4IDAgNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkdGJvZHktbWFyZ2luO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAvLyBVc2VkIHByaW1hcnkgaW4gdGhlIGFjY291bnQgYXJlYS5cclxuICAgICYucHJlc2V0LTMge1xyXG4gICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcHggc3BhY2luZy12YWx1ZShtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyksIDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm93LWFkZGl0aW9uYWwtcGFkZGluZyB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIC8vIERvbid0IG5lZWQgdG8gZG8gdGhpcyBmb3JtIG1vYmlsZSBkdWUgdG8gcmVzcG9uc2UtdGFibGUgY2xhc3MuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICR0Ym9keS1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQmVjYXVzZSB0aGVyZSBpcyBubyBvdGhlciBlYXN5IHdheSB0byBhZGQgYSBtYXJnaW4gYmV0d2VlbiB0aGUgdGFibGUgcm93cyB3aXRoIG91dCBhZGRpbmcgbWFya3VwLlxyXG4gICAgJi5yb3ctc3BhY2luZyB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGUgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZztcclxuICAgICAgICAmOmhhcygucm93LWlucHV0LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgICBzcGFuLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIGZvciB1cGxvYWQgY3N2IHRhYmxlICM3NjcyMzkuXHJcbiAgICAgICAgLy8gdGQge1xyXG4gICAgICAgIC8vICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgLy8gICAgID4gc3BhbiB7XHJcbiAgICAgICAgLy8gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBubyBpbWFnZSBhbGlnbiBhbGwgdGV4dCBiYXNlbGluZS5cclxuICAgIHRkIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICB9XHJcbiAgICAvLyBFbHNlIHZlcnRpY2FsIGFsaWduIGNlbnRlciBvdGhlcndpc2UgbXVsdGktbGluZSB0ZXh0IHdpbGwgYmUgcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHJvdy5cclxuICAgICY6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICB0ZC5uby1wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIHNwYW4udGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkcGRmLXRhYmxlLWFuY2hvci1tYXJnaW4gKyAoJGZpbGUtaWNvbnMtc2l6ZSAvIDEuMykpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3IgbW9iaWxlIHZpZXcgc28gYnV0dG9ucyBkb24ndCBhcHBlYXIgb24gYSBuZXcgbGluZS5cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyIHtcclxuICAgICAgICAvLyBTdWNjZXNzXHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBXYXJuaW5nLlxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWxlcnRcclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFcnJvciByb3cuXHJcbiAgICAgICAgJi5lcnJvci1yb3csICYuZXJyb3Ige1xyXG4gICAgICAgICAgICAvLyBIYXZpbmcgdG8gb3ZlcnJpZGUgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIHRyLmVycm9yLXJvdywgJiArIHRyLmVycm9yIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFeHBpcmVkLlxyXG4gICAgICAgICYuY2FyZC1leHBpcmVkLCAmLmV4cGlyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVtb3ZlLWNvbCwgLmV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoZSByb3cgY2FuIGJlIHVzZWQgdG8gY2hlY2sgYSBjaGVja2JveCBvciByYWRpbyBidXR0b24uXHJcbiAgICAgICAgJi5yb3ctaW5wdXQtdG9nZ2xlIHtcclxuICAgICAgICAgICAgLy8gSGF2aW5nIHRvIHVzZSBib3gtc2hhZG93IGR1ZSB0byBuZWVkaW5nIHRvIHVzZSBib3JkZXItY29sbGFwc2UgJiBib3JkZXItc3BhY2luZyB0byBnZXQgZ2FwIGJldHdlZW4gcm93cy5cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy03KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgLy8gQWx3YXlzIG1ha2Ugc3VyZSBjb250ZW50IGlzIHZpc2libGUgb24gaG92ZXIuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdWNjZXNzLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1yZWFzb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtaWNvbiwgLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3JkZXItdG90YWwtY29sLCB0aC5jc3YtaW1wb3J0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuYWRkcmVzcy1ibG9jayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuY2FyZC10eXBlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheW1lbnQtY2FyZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leHBpcmVkLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxudGhlYWQge1xyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7IFxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC1hbGlnbik7IFxyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtdHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTsgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtdHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aFtjbGFzcyQ9ZGVzY3JpcHRpb24tY29sXSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgdGJvZHkgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIHJvdy1ib3JkZXIpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIEBpZiAoJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRoZWFkLXRoLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2NvbXBhcmlzb24tdGFibGVdIHtcclxuICAgIC5jb21wYXJpc29uLXZhbHVlcyB0ZCt0ZCwgdGgrdGgge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXI6ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS12YWx1ZXMtYm9yZGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIC8vcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi12YWx1ZS1yaWdodCB7XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbXBhcmlzb24tc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbXBhcmlzb24tY3VycmVudGx5LXNlbGVjdGVkIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbXBhcmlzb24tY29sdW1uLWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmcsIDIpIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29sdW1uLWVtcHR5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhpcyB0YWJsZSBoYXMgYSBpbWFnZS1jb2x1bW4sIHRoZW4gdXNlIHRoZSBncmlkIGxheW91dCBpbiBtb2JpbGUuXHJcbiAgICAmOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgY29sdW1uIGhhcyBhIGxhYmVsICsgdmFsdWUgdGhlbiBzcGxpdCBpdCBpbnRvIHR3byBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgNzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2Ugcm93IGludG8gZ3JpZCB2aWV3LlxyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNSUgMWZyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFueSB0ZCB0aGF0IGlzIG5vdCB0aGUgaW1hZ2UgdGQgbW92ZSB0byAyIGNvbHVtbi5cclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgY29sdW1uIGhhcyBhIGxhYmVsICsgdmFsdWUgdGhlbiBzcGxpdCBpdCBpbnRvIHR3byBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBjaGVja2JveGVzIHRvIHZlcnRpY2FsbHkgYWxpZ24gY2VudGVyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5bcmVzcG9uc2l2ZS1yZXZlYWxdIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJiArIHRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHBhZGRpbmctaXRlbS15OiAxOHB4O1xyXG4gICAgJHBhZGRpbmctaXRlbS14OiAyMHB4O1xyXG4gICAgLnJlc3BvbnNpdmUtdGFibGUtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSBzb2xpZCBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSBzb2xpZCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCApIHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAjeyRwYWRkaW5nLWl0ZW0teX07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQXMgd2UncmUgbm93IHJldmVhbGxpbmcgY29udGVudCBzaG93IGFueSBvdmVyZmxvd2luZyB0ZXh0LlxyXG4gICAgICAgICAgICAuZWxsaXBzaXMtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICN7JHBhZGRpbmctaXRlbS15fSAjeyRwYWRkaW5nLWl0ZW0teH07XHJcbiAgICAgICAgJjpoYXMoLnVucmVhZC1jb2wpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHNwYWNlIGZvciB0YXAgYXJlYSBpbiBtb2JpbGUuIFxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAjeyRwYWRkaW5nLWl0ZW0teX07XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1zb3J0LWNvbCB7XHJcbiAgICAmLmFzY2VuZCBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXNvcnQtYXNjZW5kKTtcclxuICAgIH1cclxuICAgICYuZGVzY2VuZCBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXNvcnQtZGVzY2VuZCk7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIC8vIEZvciBpY29uIGFsaWdubWVudC5cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTs7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRoZWFkLXNvcnRpbmctYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2OyBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTW92aWluZyBob3ZlciBzdGF0ZSB0byB0ZCB0byBhbGxvdyBmb3IgZ3JlYXRlciBoaXQgYXJlYS5cclxudGQubm90aWZpY2F0aW9uLWNvbCB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXItd2lkdGg6IDAgMCAwIG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIC4xOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGxlZnQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVucmVhZC1jb2wge1xyXG4gICAgLy8gVHJ5aW5nIHRvIGJlIHNlbWkgY29tcGxpZW50IHdpdGggbGlnaHRob3VzZSdzIGV4cGVjdGF0aW9uIGludGVybXMgb2YgdGFwIGFyZWEgKDQ4eDQ4KSBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2RvY3MvbGlnaHRob3VzZS9zZW8vdGFwLXRhcmdldHNcclxuICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vICY6aG92ZXIge1xyXG4gICAgLy8gICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgICAgIHRvcDogMDtcclxuICAgIC8vICAgICAgICAgbGVmdDogMDtcclxuICAgIC8vICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMCBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAvLyAgICAgICAgIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIC4xOCk7XHJcbiAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBsZWZ0ICR0cmFuc2l0aW9uT3V0cm8gZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250ZW50IHNwZWNpZmljIHN0eWxlcy5cclxudGFibGUge1xyXG4gICAgJi5yZXVzYWJsZS1jYXJkLXRhYmxlIHtcclxuICAgICAgICAvLyBTcGVjaWZpY2FsbHkgaW4gdGhlIGNvbnRleHQgb2YgcGF5bWVudC5cclxuICAgICAgICAmLnBheW1lbnQge1xyXG4gICAgICAgICAgICAucmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIaWRlIHRoZSBzZWxlY3Qgcm93IGluZmF2b3VyIG9mIGNsaWNraW5nIG9uIHRoZSByb3cgdG8gcHJvZ3JhbWF0aWNhbGx5IHRvZ2dsZSB0aGUgY2hlY2tib3ggLyByYWRpby5cclxuICAgICAgICB0aC5zZWxlY3QtY29sLCB0ZC5zZWxlY3QtY29sIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmludmFsaWQtYmFza2V0LXRhYmxlIHtcclxuICAgICAgICAvLyBLZWVwIHRhYmxlIGlubGluZSB3aXRoIHRoZSB0ZXh0ZGIgZW50cnkgYWJvdmUuXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSAqIDIpfSk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyLCBsYXJnZSkgKiAyKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVmZXJlbmNlLWNvbCwgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyaWVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4NTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVwZGF0ZWQtY29sLCAudXBkYXRlZC1ieS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2Nlc3MtbGV2ZWwtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cnkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXB4IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJldmlzaW9uLWNvbHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC51cGRhdGVkLWJ5LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51cGRhdGVkLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wdWJsaXNoZWQtY29sLCAuYWNjZXNzLWxldmVsLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEge1xyXG4gICAgICAgIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmICsgLm5lc3RlZC10YWJsZS1yb3cge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICYgPiB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5mb2xkZXItZmlsdGVycy10YWJsZSB7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRhYmxlIGNvbnRlbnRzIHNjcm9sbCBiZWhhdmlvdXIuXHJcbi50YWJsZS1jb250YWluZXIge1xyXG4gICAgJHNoYWRvdy1jb2xvdXI6IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgIC8vIENvbW1vbiBzY3JvbGwgcnVsZXMuXHJcbiAgICAmLnRhYmxlLXNjcm9sbC1lbmFibGVkIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7IC8vIGxvY2tpbmcgdG8gcHJlc2V0LTEgYXMgdGhhdCBzZWVtcyB0byBiZSB3aGF0IHdlIGNvbW1vbmx5IHVzZS5cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBIZWFkZXIgYm94LXNoYWRvdyB3aGVuIHNjcm9sbGluZyAvIHNjcm9sbCBhdCBib3R0b20uXHJcbiAgICAmLnNjcm9sbC1taWRkbGUsICYuc2Nyb2xsLWF0LWJvdHRvbSB7XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDlweCAtMXB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbmVyIGJvdHRvbSBzaGFkb3cuXHJcbiAgICAmLnNjcm9sbC1taWRkbGUsICYuc2Nyb2xsLWF0LXRvcCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgfVxyXG5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn0sIGluc2V0IDAgLTEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUYWJsZSBzcGVjaWZpYyBydWxlcy5cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cmllcyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBvdGhlciBtYXJnaW4ncyBpbXBvc2VkIGJ5IFNBU1MgY29uZmlnIGFzIHRoZSB0YWJsZSBpcyBpbiB0aGUgY29udGFpbmVyIHdpdGggYSBzY3JvbGxiYXIgdXAgdGhlIHNpZGUgbG9va3Mgd2VpcmQuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTWFrZSB0YWJsZSBjb2x1bW4gaGVhZCBzdGljay5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IC0xcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcm93LWJvcmRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLSBJbnB1dHMgLS0tLSBcclxuLSBTdHlsaW5nIGZvciBmb3JtIGlucHV0cyAoIHNlbGVjdCwgaW5wdXQsIHRleHRhcmVhIClcclxuLSBRdWFudGl0eSBzZWxlY3RvcnNcclxuLSBGb3Jtc1xyXG4gIC0gRmllbGRzZXRzXHJcbiAgLSBGaWVsZHNcclxuLSBWYWxpZGF0aW9uXHJcbiAgLSBGb3JtIGVycm9ycyBmcm9tIHRoZSBzZXJ2ZXJcclxuICAtIEFkdmFuY2VkIHZhbGlkYXRpb24gKCBzZXR0aW5nIHBhc3N3b3JkIClcclxuLSBQcmltYXJ5LCBTZWNvbmRhcnksIEV0YyBidXR0b25zIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cclxuLSBVSSBibG9jayBwYW5lLlxyXG4qL1xyXG5cclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0tIFxyXG5mb3JtIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEJ1dHRvbnMgLS0tLS0gXHJcbi8vLS0tIFN1Ym1pc3Npb24gLS0tXHJcbmZvcm0uaXMtaW52YWxpZCB7XHJcbiAgYnV0dG9uW3R5cGU9c3VibWl0XSwgLmZvcm0tc3VibWl0LWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgfVxyXG4gIFxyXG59XHJcbi8vIC0tLSBHZW5lcmFsIGJ1dHRvbiBzdHlsZXMgLS0tXHJcbmJ1dHRvbiB7XHJcbiAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gIH1cclxufVxyXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAuY29udHJvbC50ZXh0IHtcclxuICAgIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogKGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCk7XHJcbiAgICAgIH1cclxuICAgICBcclxuICAgIH1cclxuICAgICYucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3sobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkIHtcclxuICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgLy8gQXNzdW1lIHRoZSBsYXN0IGZpZWxkIGNvbnRhaW5zIHRoZSBzdWJtaXQgYnV0dG9uLlxyXG4gIC8vICY6bGFzdC1jaGlsZCB7XHJcbiAgICAvLyBidXR0b25bdHlwZT1zdWJtaXRdIHtcclxuICAgICAgLy8gQWRkIGluIHNvbWUgbWFyZ2luIHRvIGtpY2sgdGhlIGJ1dHRvbiBhd2F5IGZyb20gdGhlIGZpZWxkcyBzbGlnaHRseS5cclxuICAgICAgLy8gbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC8vIH1cclxuICAvLyB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gIH1cclxuICAmLmFsaWduLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuICAmLmFsaWduLWxlZnQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuICBsYWJlbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIC8vIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICB9XHJcbiAgICAgICYucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7c21hbGwtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9KTtcclxuICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7c21hbGwtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKX0gLSAjeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9IC0gICN7bGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKX0pO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXNzd29yZC1yZXZlYWwge1xyXG4gICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgKyB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZHZpc29yeS10ZXh0IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRmaWVsZC1sYWJlbC1mb250LXNpemUgLSAzKSk7XHJcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYudGV4dCwgJi5lbWFpbCwgJi50ZWwsICYubnVtYmVyLCAmLnRleHRhcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6aGFzKGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLnByaW1hcnktYnV0dG9uKSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICAgIC8vIFNwZWNpZmljYWxseSBub3QgY2hlY2tib3gncyBhcyBTYWZhcmkgZmVlbHMgdG8gZGlzcGxheSBhIGJsYW5rIGFyZWEgZXZlbiB0aG91Z2ggY2hlY2tib3ggaW5wdXQncyBoYXZlIGhlaWdodCArIHdpZHRoIHByb3BlcnRpZXMgc2V0IHRvIDA7XHJcbiAgICAgICY6bm90KFt0eXBlPWNoZWNrYm94XSkge1xyXG4gICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCArIHRleHRhcmVhIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgLy8gbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpO1xyXG4gICAgICAvLyBOZWVkIHRvIHNldCBhIG1heC13aWR0aCBvdGhlcndpc2Ugd2hlbiB5b3UgZXhwYW5kIHRoZSBhcmVhIGl0IHRha2VzIHVwIHRoZSBlbnRpcmUgd2lkdGggaW4gYSBmb3JtIGFuZCBwdXNoZXMgdGhlIGxhYmVsIGFib3ZlLlxyXG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICB0ZXh0YXJlYSB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgLmVycm9yLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWF4LXdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApIC8gMS4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpub3QoLm1lZGl1bSk6bm90KC5sYXJnZSk6bm90KC5sYXJnZS0xKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG4gICYuc21hbGwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgJGZpZWxkLWp1c3RpZnktY2VudGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJi5tZWRpdW0ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgJGZpZWxkLWp1c3RpZnktY2VudGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmZ1bGwtd2lkdGgge1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5saXN0IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7IFxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGFiZWwtaW5wdXQtZ2FwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH0gIFxyXG4gICAgYSB7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrOyB0byBwdXNoIGFuY2hvcnMgb250byBuZXcgbGluZS5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCAwO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tIFRoZXNlIGFyZSBub3JtYWxseSB1c2VkIGZvciBcIiBwbGVhc2Ugc3BlY2lmeSBvdGhlciBcIiBmaWVsZHMgLS0tICBcclxuICAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gLS0tIE11bHRpLWNvbHVtbiBmb3JtIGZpZWxkIHN1cHBvcnQgLS0tIFxyXG4gICZbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdLCAmW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0sICZbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc21hbGwtMSwgJi5tZWRpdW0tMSwgJi5sYXJnZS0xIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAzNjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsLTIge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9IFxyXG4gICYuc21hbGwtMyB7XHJcbiAgICB3aWR0aDogMzMlO1xyXG4gIH0gXHJcbiAgJi5tZWRpdW0tMiB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLm1lZGl1bS0zIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2UtMiB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGFyZ2UtMyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIE91dHB1dHRlZCBjbXMgY29udGVudCBuZXh0IC8gdW5kZXIgYSBpbnB1dCBmaWVsZC5cclxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XHJcbiAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIC8vIE92ZXJyaWRlIGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplIGFzIHdlJ3JlIGluIHRoZSBjb250ZXh0IG9mIGEgZm9ybS5cclxuICBwLCBhIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgIH1cclxuICB9XHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogJGFkZGl0aW9uYWwtaW5mby1pbWFnZS1tYXJnaW47XHJcbiAgfVxyXG4gICYubGFyZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbi8vIFVzZWQgZm9yIHBvc3Rjb2RlIGxvb2sgdXAuXHJcbi5sb29rdXAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vLyAtLS0gUmV2ZWFsIFBhc3N3b3JkIC0tLSBcclxuLy8gLmNvbnRyb2wudGV4dC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuLy8gICBpbnB1dCB7XHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHJldmVhbC1wYXNzd29yZC13aWR0aH07XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbmlucHV0W3R5cGU9cGFzc3dvcmRdIHtcclxuICBjb2xvcjogJGNvbG91cjMtMztcclxuICBmb250LXNpemU6IDIycHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgZm9udC1mYW1pbHk6IGNhcHRpb247XHJcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAvLyAmLmlzLWludmFsaWQtaW5wdXQge1xyXG4gIC8vICAgY29sb3I6ICRhbGVydC1jb2xvdXI7XHJcbiAgLy8gfVxyXG4gIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyAwIDAgJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBmb250LXNpemU6IDQ0cHg7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogLTE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBib3gtc2hhZG93OiAxNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJjpmb2N1cyB7XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyAmLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMrLnBhc3N3b3JkLXJldmVhbHtcclxuICAvLyAgIGJvcmRlci1jb2xvcjogJGVycm9yLWJvcmRlci1jb2xvdXI7XHJcbiAgLy8gfVxyXG4gICYgKyBidXR0b24ge1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBhc3N3b3JkLXJldmVhbCB7XHJcbiAgd2lkdGg6ICRyZXZlYWwtcGFzc3dvcmQtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGFzc3dvcmQtcmV2ZWFsKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIGZvbnQtc3R5bGU6IDEycHg7XHJcbiAgICBjb2xvcjogJHJldmVhbC1pY29uLWNvbG91cjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmFjdGl2ZSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJi5pbnB1dC1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dDo6LW1zLWNsZWFyLCBpbnB1dDo6LW1zLXJldmVhbCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gLS0tIEJ1dHRvbjEgLS0tXHJcbi8vIEFjdGlvbiBidXR0b25zLlxyXG4uYWN0aW9uLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRhLWRlZmF1bHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYS1kZWZhdWx0LWJ1dHRvbi1jb2xvdXIsICRhLWRlZmF1bHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgJi5zdWNjZXNzLCAmLmVtYWlsIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzdWNjZXNzLWJ1dHRvbi1jb2xvdXIsICRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxuICAmLndhcm5pbmcge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHdhcm5pbmctYnV0dG9uLWNvbG91ciwgJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG4gICYuYWxlcnQge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAkYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG59XHJcbi8vIC0tLS0tIEdlbmVyaWMgQnV0dG9ucyAtLS0tLS1cclxuLy8gQWxpZ25tZW50IGNsYXNzJ3MgZm9yIENNUyAoIFJpY2ggVGV4dCBFZGl0b3IgKSBjb250ZW50LlxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tY2VudGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLXJpZ2h0IHtcclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWxlZnQge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG4vLyBTRVRUSU5HIE1PQklMRS1XSURUSDogQVVUTzsgb3RoZXJ3aXNlIGlmIHdlIHVzZSAxMDAlICsgYWRkIG1hcmdpbiB0aGUgYnV0dG9uIHdpbGwgYmUgZGUtY2VudGVyYWxpc2VkIGluIGl0cyBjb250YWluZXIuXHJcbi8vIFBSTy1USVA6IFN0cnVnZ2xpbmcgd2l0aCBuYW1pbmcgYSBidXR0b24/IHRyeSB0aGlzOiBxdWF0ZXJuYXJ5LCBxdWluYXJ5LCBzZW5hcnksIHNlcHRlbmFyeSwgb2N0b25hcnksIG5vbmFyeSwgZGVuYXJ5IHRoaXMgd2lsbCB0YWtlIHlvdSB1cCB0byAxMCB2YXJpYXRpb25zLi4uLlxyXG4vLyBQcmltYXJ5IGJ1dHRvbiBpcyB0eXBpY2FsbHkgdXNlZCB3aGVuIHByb2NlZWRpbmcgdG8gdGhyb3VnaCB0byBhbm90aGVyIHByb2Nlc3MuXHJcbi5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcHJpbWFyeS1idXR0b24tcGFkZGluZywgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4vLyBTZWNvbmRhcnkgYnV0dG9uIGlzIHR5cGljYWxseSB1c2VkIHdoZW4gY2FuY2VsbGluZyBhbiBhY3Rpb24uXHJcbi5zZWNvbmRhcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi50ZXJ0aWFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkdGVydGlhcnktYnV0dG9uLXBhZGRpbmcsICR0ZXJ0aWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICR0ZXJ0aWFyeS1idXR0b24tY29sb3VyLCAkdGVydGlhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4ucXVhdGVybmFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcXVhdGVybmFyeS1idXR0b24tcGFkZGluZywgJHF1YXRlcm5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCAkcXVhdGVybmFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBpbmxpbmUtZmxleCk7XHJcbn1cclxuLnF1aW5hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHF1aW5hcnktYnV0dG9uLXBhZGRpbmcsICRxdWluYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHF1aW5hcnktYnV0dG9uLWNvbG91ciwgJHF1aW5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4vLyBHZW5lcmljIGJ1dHRvbiB0aGF0IGdldHMgdXNlIGJ5IGNtcyBlZGl0b3JzLlxyXG4uY21zLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtYnV0dG9uLXBhZGRpbmcsICRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLWJ1dHRvbi1jb2xvdXIsICRjbXMtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICgwLCAwIDAgMTBweCkpO1xyXG59XHJcbi5jbXMtcHJvY2VlZC1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA1cHg7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC13ZWlnaHQ7XHJcbiAgQGlmICgkY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybTtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb3B5IHRvIGNsaXBib2FyZCBidXR0b24uXHJcbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC8vIFRoaXMgbWF5IG5lZWQgZXh0ZW5kaW5nIGluIHRoZSBmdXR1cmUgdG8gc3VwcG9ydCBpY29uIGJlZm9yZSB0ZXh0LlxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xpcGJvYXJkLWNvcHkpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgc2l6ZTogMTVweDtcclxuICB9XHJcbiAgLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAkY29waWVkLXRleHQtcGFkZGluZzogNXB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICN7KCRjb3BpZWQtdGV4dC1wYWRkaW5nICogMil9KTtcclxuICAgIGhlaWdodDogY2FsYygxMDAlICsgI3soJGNvcGllZC10ZXh0LXBhZGRpbmcgKiAyKX0pO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtI3skY29waWVkLXRleHQtcGFkZGluZ307XHJcbiAgICBsZWZ0OiAtI3skY29waWVkLXRleHQtcGFkZGluZ307XHJcbiAgICBwYWRkaW5nOiAkY29waWVkLXRleHQtcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjMsIC45KTtcclxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4ubG9jYXRpb24tYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoOS41cHggMTJweCA5LjVweCAyMXB4LCAkbG9jYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgJGxvY2F0aW9uLWJ1dHRvbi1ib3JkZXItY29sb3VyLCAxNCw0MDAsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGZsZXgsICRsb2NhdGlvbi1idXR0b24taWNvbi1jb25maWcsIDEpO1xyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgLnJlZmVyZW5jZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIHBhZGRpbmc6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZztcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlcntcclxuICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0aGlyZC1wYXJ0eS10cmFja2luZyk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tZ3V0dGVyO1xyXG4gICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgZm9udC1zaXplOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yIHtcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbjogNXB4IDAgMDtcclxuICBwYWRkaW5nOiA1cHggOHB4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGhpcmQtcGFydHktdHJhY2tpbmcpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wcmludC1lbGVtZW50LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRwcmludC1lbGVtZW50cy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAsIDApLCBmbGV4LCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWljb24tY29uZmlnKTtcclxufVxyXG5cclxuLnByaW50LWVsZW1lbnQtbGluayB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlcik7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcblxyXG4gIH1cclxufVxyXG5cclxuLy8gUGF5cGFsIEJ1dHRvbi5cclxuI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1wYWRkaW5nLCAkY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKCksICgpLCAxNXB4LCA2MDAsICh3aWR0aDogMTAwJSksIChzbWFsbDogMCwgbWVkaXVtOiAwLCBsYXJnZTogMCkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogNnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXlwYWwpKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJbmNyZW1lbnQgdGFibGUgcm93ICAoIGUuZy4gbWFuYWdlIGNhcmRzICkuXHJcbi5pbmNyZW1lbnQtcm93LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDEwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VsZWN0aW9uLWluY3JlbWVudCk7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcblxyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCdXR0b24gY29udGFpbmVycy5cclxuLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgfVxyXG4gIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgIC8vIElmIG1hcmdpbiBSICsgTCBhcHBsaWVkIGluIG1vYmlsZSB0aGlzIHdpbGwgY2F1c2UgdGhlIGJ1dHRvbnMgdG8gYmUgc3RlcHBlZCBpbiBkdWUgdG8gZm9ybSBwYWRkaW5nIGFyb3VuZCBjb250ZW50LlxyXG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogNXB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJjpudGgtb2YtdHlwZSgzbi0yKSB7XHJcbiAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhlcmUgaXMgdHdvIGJ1dHRvbi1jb250YWluZXIncyBvciBvbmx5IG9uZS5cclxuICAgICY6bnRoLW9mLXR5cGUoMm4pLCAmOm9ubHktY2hpbGQge1xyXG4gICAgICAvLyBJZiBubyBhbGlnbiBjZW50ZXIuXHJcbiAgICAgICY6bm90KC5hbGlnbi1jZW50ZXIpIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyBTZWxlY3QgYWxsIGJ1dHRvbnMgdGhhdCBhcmUgbm90IGFjdGlvbi1idXR0b25zLlxyXG4gICAgICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICAmOm5vdCguYWN0aW9uLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlcmUgYXJlIGFueSBvdGhlciBidXR0b25zLlxyXG4gICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAvLyBQdXNoIGFsbCBjb250ZW50IHRvIHRoZSByaWdodC5cclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlcmUgaXMgYSBndXR0ZXIuXHJcbiAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4OyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAmOm5vdCguYWN0aW9uLWJ1dHRvbikge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1idXR0b24ge1xyXG4gICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICAvLyBhLCBidXR0b24ge1xyXG4gICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gU28gdGhlIGNhbmNlbCBidXR0b24gYWx3YXlzIGFwcGVhcnMgb24gdGhlIHJpZ2h0LlxyXG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IC0tLVxyXG4uYWRkVG9CYXNrZXRGb3JtIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuQG1peGluIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKSB7XHJcbiAgd2lkdGg6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGg7XHJcbiAgaGVpZ2h0OiAkYWRkLXRvLWJhc2tldC1pY29uLWhlaWdodDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIC8vIFN1cHByZXNzaW5nIGNhbm5vdCBnZW5lcmljYWxseSBhcHBseSB0aGlzIGFjcm9zcyBhbGwgaW5zdGFuY2UsIHRoaXMgXCIgZ3V0dGVyIFwiIGlzIGZhciBiZXR0ZXIgYmVpbmcgbWFuYWdlZCBieSBmbGV4Ym94ZXMgZ2FwIHByb3BlcnR5LlxyXG4gIC8vIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgIGZvbnQtc2l6ZTogJGFkZC10by1iYXNrZXQtaWNvbi1zaXplO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9ICBcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE5ldyBhZGQgdG8gYmFza2V0IGNsYXNzIHRoYXQgc2hvdWxkIGdldCB1c2VkIGluc3RlYWQgb2YgLmFkZC10by1iYXNrZXQsIHRoaXMgYWxzbyBkZS1jb3VwbGVzIHRoZSBKUyBsaXN0ZW5lcnMgZnJvbSBDU1MgY2xhc3MgYXMgd2VsbCB3aGljaCBpcyByZXF1aXJlZCBhcyBwYXJ0IG9mIHRoZSBmb2xsb3dpbmcgam9icyA4MzgyMzggJiA4MjAxOTQuXHJcbi5iYXNrZXQtYWRkLWJ1dHRvbiB7XHJcbiAgJi5pY29uIHtcclxuICAgIEBpbmNsdWRlIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKTtcclxuICB9XHJcbiAgJi50ZXh0LWJhc2VkIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1idXR0b24tY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1ib3JkZXIsICRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAxMDAlKSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYWRkVG9CYXNrZXQuaWNvbiB7XHJcbiAgQGluY2x1ZGUgYmFza2V0LWFkZC1idXR0b24taWNvbigpO1xyXG59XHJcblxyXG4uYWRkLXRvLWJhc2tldCB7XHJcbiAgJjpub3QoLnByZXNldC0yKSB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWNvbG91ciwgJGJhc2tldC1idXR0b24tYm9yZGVyLCAkYmFza2V0LWJ1dHRvbi1mb250LXNpemUsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMTAwJSksIDApO1xyXG4gIH1cclxuICAmLnByZXNldC0yIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCAoZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAvIDEuMiksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAod2lkdGg6IDEwMHB4KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4uYW5pbWF0ZWQuZHJvcCB7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29sb3I6ICRjb2xvdXI2IWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMTBweDtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICBhbmltYXRpb246IGJhc2tldEljb25Ib3ZlciAwLjVzO1xyXG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGJhc2tldEljb25Ib3ZlciB7XHJcbiAgMCUge1xyXG4gICAgdG9wOiAtMjBweDtcclxuICAgIG9wYWNpdHk6IDAuMjtcclxuICB9XHJcbiAgMTUlIHtcclxuICAgIHRvcDogLTE1cHg7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICB0b3A6IC0xMHB4O1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gIH1cclxuICA0NSUge1xyXG4gICAgdG9wOiAtNXB4O1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gIH1cclxuICA2MCUge1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgNzUlIHtcclxuICAgIHRvcDogMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gU3RvY2tsaW5lIC0tLSBcclxuLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nLCAkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCAkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIE5vdCBsb2dnZWQgaW4gLS0tIFxyXG4ubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gIGEsIGJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkbm90LWxvZ2dlZC1pbi1idXR0b24tcGFkZGluZywgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBFbnF1aXJ5IGZvcm0gYnV0dG9uIC0tLSBcclxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAuZW5xdWlyeS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRlbnF1aXJ5LWJ1dHRvbi1wYWRkaW5nLCAkZW5xdWlyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRlbnF1aXJ5LWJ1dHRvbi1jb2xvdXIsICRlbnF1aXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIEZhdm91cml0ZXMgLS0tXHJcbi8vIFRISVMgQ09VTEQgQkUgQ09OU09MSURBVEVEIElOVE8gT05FIENPREUgUEFUSCBOT1cgVEhFIDpIQVMgR09PRCBTVVBQT1JUIFNPIFRIRSBDU1MgQ09VTEQgREVURUNUIElGIFRIRVJFIElTIEEgTEFCRUwgT1IgTk9ULCBUSElTIElTIEFEVkFOVEFHRVMgVE8gSEFWSU5HIFBSRVNFVFMgRk9SIEZMRVhJQklJVFkuXHJcbi5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAvLyBDb21tb24gc3R5bGVzLlxyXG4gIGEge1xyXG4gICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgJjphZnRlciwgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmF2b3VyaXRlcy1kZWZhdWx0KTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgZm9udC1zaXplOiAkZmF2b3VyaXRlcy1pY29uLXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5hY3RpdmUgYSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBJY29uIHdpdGggdGV4dCBsYWJlbC5cclxuICAmLnByZXNldDEge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyKTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgJjpub3QoLmRpc2FibGVkKTpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLy8gSnVzdCBhbiBpY29uLlxyXG4gICYucHJlc2V0MiB7XHJcbiAgICAgICY6bm90KC5hY3RpdmUpIGEge1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgIGhlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWhlaWdodDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgfVxyXG4gIH1cclxuICBcclxufVxyXG5cclxuLy9DaGVja2JveGVzLiByYWRpbyBidXR0b25zICYgU2VsZWN0XHJcbmxhYmVsLmRpc2FibGVkLCBsYWJlbC5yZWFkb25seSB7XHJcbiAgY3Vyc29yOiBuby1kcm9wO1xyXG59XHJcblxyXG4uY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gIC8vZW5mb3JjZSB0aGlzIHNvIGZvdW5kYXRpb24gZG9lc24ndCBvdmVycmlkZSBpdC5cclxuICAvL2Rpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAwIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCFpbXBvcnRhbnQ7XHJcbiAgZmxleDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIC8vIE9ubHkgaW4gZmlyZWZveCB0aGVyZSBhcHBlYXJzIHRvIGJlIGEgNHB4IGJvcmRlciBhcm91bmQgY2hlY2tib3hlcyBzbyB0aGlzIGlzIGEgaGFja3kgZml4LCBkaXNwbGF5OiBjb250ZW50czsgYWxzbyB3b3JrcyBidXQgdGhlbiBpbnRyb2R1Y2VzIGEgYnVnIHdoZXJlIHlvdSBjYW5ub3Qgc2hpZnQrdGFiIG9uIGNoZWNrYm94ZXMgYW55bW9yZS5cclxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gR2VuZXJhbCBpbnB1dCBzdHlsaW5nIC0tLS0tXHJcbi5jb250cm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgLy8gQ2VudGVyIGl0ZW1zIGluIG1vYmlsZSBkdWUgdG8gU2FmYXJpIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aGVuIGlucHV0cyB3aXRoIGJ1dHRvbnMgdGhhdCBoYXMgbmVzdGVkIGZvbnQgaWNvbnMuXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgLy8gT25seSByZWFsbHkgd2FudCB0byB0aGlzIG9uIG1vYmlsZSBoYXZlbid0IHRlc3RlZCB0aGlzIHdpdGggZGVza3RvcCB2aWV3LlxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gIH1cclxuICAvLyAtLS0gSGlkZGVuIGlucHV0IHN0eWxpbmcgLS0tXHJcbiAgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gRG8gbm90IGFwcGx5IHZpc2liaWxpdHk6IGhpZGRlbiBvdGhlcndpc2UgOmZvY3VzIGRvZXNuJ3Qgd29yay5cclxuICAgIC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gICYuaXMtaG92ZXJlZCwgJjpob3ZlciB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpOyBcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuaW5wdXQtcHJlZml4LWljb24sIGlucHV0IHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWZvY3VzZWQge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIElmIHRoZSBsYWJlbCBpcyBvdXRzaWRlIG9mIHRoZSAuY29udHJvbCBjb250YWluZXIgKCBlLmcuIGxhYmVsIGFmdGVyIGNoZWNrYm94ICkuXHJcbiAgJiArIC5sYWJlbCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1pbnB1dC1nYXA7XHJcbiAgfVxyXG5cclxuICAvLyBJY29uIHRoYXQgc2l0cyBiZWZvcmUgdGhlIGlucHV0LlxyXG4gIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgJiArIGlucHV0IHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgJiArIGlucHV0IHtcclxuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIHZpc2FibGUgaW5wdXRzLlxyXG4gICY6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXRlbF0sIHRleHRhcmVhIHtcclxuICAgICAgICBib3gtc2hhZG93OiBob3Zlci1jb2xvdXIoJGlucHV0LWJveC1zaGFkb3cpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnJlYWQtb25seS1pbnB1dCwgJi5kaXNhYmxlZC1pbnB1dCB7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAvLyBGb3IgbW9iaWxlIGRldmljZXMgc3VwcHJlc3MgZm9yIHRleHQgZmllbGRzLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAmOm5vdCgudGV4dCkge1xyXG4gICAgICAgIEBpbmNsdWRlIGlucHV0UmVhZE9ubHkoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2hvdyBmb3IgYWxsIGZpZWxkcyBpbiBkZXNrdG9wLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBAaW5jbHVkZSBpbnB1dFJlYWRPbmx5KCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbiAgXHJcbiAgLy8tLS0gQ2hlY2tib3ggLS0tXHJcbiAgICYuY2hlY2tib3gge1xyXG4gICAgICAmLnNtYWxsIHtcclxuICAgICAgICAvLyBJbiBtb2JpbGUgd2Ugd2FudCBjaGVja2JveGVzIHRvIGRlZmF1bHQgdG8gd2lkdGg6MTAwJSBidXQgb3ZlcnJpZGUgd2lkdGggaW4gZGVza3RvcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bm90KC5zbWFsbCkge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAvLyAtLS0gUmFkaW8gQnV0dG9ucyAtLS0gXHJcbiAgJi5yYWRpbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC8vIFJhZGlvIGJ1dHRvbiBkZXNpZ24uXHJcbiAgJi5yYWRpbzpub3QoLmNoZWNrYm94KSB7IFxyXG4gICAgaW5wdXQge1xyXG4gICAgICAvLyBJZiByYWRpbyBhY3RpdmUuXHJcbiAgICAgICY6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ucmFkaW8ge1xyXG4gICAgICB3aWR0aDogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIGhlaWdodDogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBmbGV4Ym94IGp1c3RpZnktY29udGVudDogY2VudGVyIGlzIG9mZiBieSAuNXB4LlxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC4ycHg7XHJcbiAgICAgICAgbGVmdDogLjRweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBDaGVja291dCBzdHlsZXMuXHJcbiAgJi5yYWRpby5jaGVja2JveCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLy0tLSBTZWxlY3QgLS0tXHJcbiAgJi5zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHNlbGVjdCBkcm9wZG93biB0byBvdmVybGFwIHRoZSByZWNhcHRjaGEgYmFkZ2UgaW4gbW9iaWxlLlxyXG4gICAgLy8gei1pbmRleDogMTtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgICY6ZGlzYWJsZWQsICZbcmVhZG9ubHldIHtcclxuICAgICAgICAmICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTsgXHJcbiAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6ZGlzYWJsZWQsICZbcmVhZG9ubHldIHtcclxuICAgICAgICArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIHtcclxuICAgICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtaW52YWxpZC1pbnB1dCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIH1cclxuICAgICAmOmZvY3VzIHtcclxuICAgICAgICsgZGl2W2NsYXNzPWNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lcl0gLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgIH1cclxuICAgICB9IFxyXG4gICAgfVxyXG4gICAgJi5pcy1jbG9zaW5nIHtcclxuICAgICAgei1pbmRleDogMjAwMDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlLCAmLmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgIC8vIE1ha2Ugc3VyZSB0aGV5IGFwcGVhciB1bmRlciB0aGUgaGVhZGVyIHdoZW4gc3RpY2t5LlxyXG4gICAgICB6LWluZGV4OiAxOTk5O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZHJvcGRvd24tdG9wIHtcclxuICAgICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDsgIFxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxODVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7IFxyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLWJvdHRvbSB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLXRvcCB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgYm90dG9tOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tdG9wLmFjdGl2ZSB7XHJcbiAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgIHdpZHRoOiAkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgfVxyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAvLyBOZWVkIHRvIHNldCBoZWlnaHQ6IDEwMCUgb3RoZXJ3aXNlIHRoZSBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lciBpZiBpdCBoYXMgYSBzZXQgaGVpZ2h0LlxyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogKCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGggKyAzKTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vIE5lZWQgcG9zaXRpb24gYWJzb2x1dGUgb3RoZXJ3aXNlIGluIG1vYmlsZSBwdXNoZXMgdGhlIGVudGlyZSBwYWdlIGRvd24uXHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy8gdG9wOiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMXB4O1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9uIHtcclxuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgJltzZWxlY3RlZF0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuICAgICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7IFxyXG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgJltkaXNhYmxlZF0sICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgIC8vIEFkZGluZyBpbiBhIG1pbi13aWR0aCB0byBwcmV2ZW50IGNyYW1wZWQgc2VsZWN0IGRyb3Bkb3ducyB3aXRoIHNob3J0ZWQgc3RyaW5ncyBvZiB0ZXh0IGZvciB0aGVpciBvcHRpb24gZGVzY2lwdGlvbnMuXHJcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgICAgIC8vIERvbnQgc2V0IDEwMCUganVzdCBpbmNhc2UgdGhlcmUgaXMgYSB0b29sdGlwIGFzc2lnbmVkLlxyXG4gICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGZsZXg6IDE7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgaW5wdXQgdG8gdGFrZSB1cCBhdmFsYWJsZSB3aWR0aC5cclxuICAgICAgICAvLyBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCk7XHJcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50aXRsZSB7XHJcbiAgICAgIC8vIHdpZHRoOiBhdXRvO1xyXG4gICAgICAvLyAubGFiZWwge1xyXG4gICAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBJbmNyZWFzaW5nIHRvIDI1MHB4IHRvIGFsbG93IGZvciB1bi1zZWxlY3RlZCB2YWx1ZS5cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi50ZXh0IHtcclxuICAgIGN1cnNvcjogdGV4dDtcclxuICAgIGlucHV0IHtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICY6bm90KFt0eXBlPXBhc3N3b3JkXSk6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICYuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgJjpmb2N1cyB7IFxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5pcy1pbnZhbGlkLWlucHV0KSArIGJ1dHRvbiB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc2xpZGVyIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxuICAmLmZpbGUge1xyXG4gICAgLy8gSGF2aW5nIHRvIHVzZSBpbXBvcnRhbnQgZHVlIHRvIG92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGlucHV0LWZpbGUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogJGlucHV0LWZpbGUtb3V0ZXItYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGh9KTtcclxuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aH0pO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aCBkYXNoZWQgbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkaW5wdXQtZmlsZS13aWR0aCkhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICYuaXMtcmVhZHkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtcmVhZHkge1xyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkLXJlYWR5KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgfVxyXG4gICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgLmZpbGUtdXBsb2FkLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtcmVtb3ZlKTtcclxuICAgICAgICAgIEBpZiAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1maWxlLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZmlsZS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IChsYXJnZS12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nKSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmlsZS11cGxvYWQtaWNvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtdXBsb2FkKTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS11cGxvYWQtaWNvbik7XHJcbiAgICAgICAgZm9udC1zaXplOiA0NnB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgICAgJiArIC5sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpbGUtc2l6ZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgfVxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXJlbW92ZSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNlYXJjaCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIFRvb2x0aXBzLlxyXG4gIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVRvb2xUaXBIaW50IDJzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgc2VsZWN0LCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgd2lkdGg6ICRxdWFudGl0eS1kcm9wZG93bi13aWR0aDtcclxuICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gIH1cclxuICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkcXVhbnRpdHktZHJvcGR3b24tcGFkZGluZy1sZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlVG9vbFRpcEhpbnQge1xyXG4gIDAlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgfVxyXG4gIDIwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgLy8gR29pbmcgYWdhaW5zdCB0aGUgZ3JhaW4gaGVyZSBiZWNhdXNlIG9mIGlPUyBpZiB3ZSBkbyBub3Qgc2V0IHRoZSBmb250LXNpemUgdG8gPiAxNnB4IHRoZW4gYnJvd3NlciB3aWxsIHpvb20gaW4gb24gdGhlIGlucHV0IGZpZWxkLi4uIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vMTZweC1vci1sYXJnZXItdGV4dC1wcmV2ZW50cy1pb3MtZm9ybS16b29tLyBhbmQgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjk4OTI2My9kaXNhYmxlLWF1dG8tem9vbS1pbi1pbnB1dC10ZXh0LXRhZy1zYWZhcmktb24taXBob25lLCB0aGVyZSBoYXMgYmVlbiBzdWdnZXN0aW9ucyB0aGF0IHRoZSBmaXggaW4gdGhhdCBzdGFjayBwb3N0IHNwZWNpZmljYWxseSBcIiBtYXhpbXVtLXNjYWxlPTEgXCIgaGFzIGNhdXNlZCBpc3N1ZXMgd2l0aCBhbmRyb2lkIGRldmljZXMgbm90IGJlaW5nIGFibGUgdG8gcGluY2ggem9vbSBzbyBJIGhhdmUgb3B0ZWQgdG8gZ290IGRvd24gdGhlIHB1cmUgY3NzIGZpeC5cclxuICBAaWYgKCRpbnB1dC1mb250LXNpemUgPCAxNikge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgIEBpZiAoJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gJjphdXRvZmlsbCB7XHJcbiAgLy8gICBjb2xvcjogJGNvbG91cjMtMyAhaW1wb3J0YW50O1xyXG4gIC8vICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgLy8gfVxyXG59XHJcblxyXG5pbnB1dC5tYWlsLWlucHV0IHtcclxuICAvLyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aH0pO1xyXG4gIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICBmbGV4LWdyb3c6IDE7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAvLyBEZWZhdWx0IGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgaW5wdXQgZm9yIHNtYWxsIGRldmljZXMgYXMgYnV0dG9uIHdpbGwgbmVlZCB0byB3cmFwLlxyXG4gIGJvcmRlci13aWR0aDogMXB4O1xyXG4gIEBpZiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAvLyBEbyB3ZSB3YW50IHRoZSBidXR0b24gdG8gYXBwZWFyIHNlcGVyYXRlIGZyb20gdGhlIGlucHV0LlxyXG4gICAgQGlmICRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBtYXJnaW46IDA7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgLy8gJjpmb2N1cyArIGJ1dHRvbiB7XHJcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gICAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAvLyB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlcjtcclxuICB9XHJcbiAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICsgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbikge1xyXG4gICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogJG1haWxpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIC8vIERlZmF1bHQgdG8gdGhlIGJvcmRlciBnb2VzIGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgYnV0dG9uIGZvciBzbWFsbCBkZXZpY2VzIGFzIHRoZSBidXR0b24gd2lsbCB3cmFwLlxyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpZiAkbWFpbGluZy1idXR0b24tZm9udC1zaXplIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWFpbGluZy1idXR0b24tZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpZiBub3QgKCRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtID09IFwibm9uZVwiKSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgQGlmICRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICBib3JkZXItd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICAmOmVtcHR5IHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1haWwpO1xyXG4gICAgICAgIHdpZHRoOiAkbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgZ3JvdXBlZCBoaWRkZW4gZmllbGRzIHRoYXQgZ2V0IHRvZ2dsZWQgKCB0aGluayBkZWxpdmVyeSBhZGRyZXNzZXMgKS5cclxuLmNvbmRpdGlvbmFsLWlucHV0cyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUXVhbnRpdHkgU2VsZWN0b3JzIC0tLS0tXHJcbi8vIC0tLSBGcmVlIFRleHQgLS0tIFxyXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvLyAtLS0gQ29sb3VyaW5nIC0tLVxyXG4gIC8vIERlZmF1bHRcclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiZGVmYXVsdFwiKTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXNldCAxXHJcbiAgJi5wcmVzZXQtMSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQgIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBjb2xvdXJzLlxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGlzYWJsZWRcIik7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRpc2FibGVkXCIpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxhYmVsIHtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRxdWFudGl0eS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGUtYWN0aXZhdGUgc3Bpbm5lciBidXR0b25zIGFzIHdlIGhhdmUgdGhlIGluY3JlbWVudG9yIGJ1dHRvbnMgb24gZWl0aGVyIHNpZGUuXHJcbiAgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAvLyBFcnJvciBzdHlsaW5nLlxyXG4gIC8vIE1vcmUgZ2VuZXJpYyBlcnJvciBzdHlsaW5nIG5vdyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBJRS5cclxuICAmOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gT2xkIHdheSBvZiBkb2luZyB0aGlzIHJlcXVpcmluZyBKUy5cclxuICAmLmlzLWludmFsaWQtcXVhbnRpdHkge1xyXG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWVycm9yIHtcclxuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgLnF1YW50aXR5LWVycm9yIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgIEBpZiAoJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgIC8vIElFIERvZXNuJ3Qgc2VlbSB0byBsaWtlIHRoaXMgYXBwcm9hY2guXHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXIsXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIGJhY2tncm91bmQ6ICRxdWFudHRpeS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50IHtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVhbnRpdHktc2VsZWN0b3ItaW5jcmVtZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWFudGl0eS1zZWxlY3Rvci1kZWNyZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIFNlbGVjdCBkcm9wZG93biAgLS0tXHJcbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcbiAgfVxyXG4gIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0O1xyXG4gIH1cclxuICAuc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICB9XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBoZWlnaHQ6ICRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpO1xyXG4gIH1cclxuICBcclxufVxyXG5cclxuLy8gLS0tLS0gQWJpZGUgLS0tLS0gXHJcbi8vIC0tLSBGb3JtIEVycm9ycyAtLS1cclxuLy8gU3RhbmRhcmQgRXJyb3IgdGhhdCBnZXRzIHNob3cgdW5kZXIgdGhlIGZpZWxkLlxyXG5zcGFuLmZvcm0tZXJyb3Ige1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmctbGVmdDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gICYuaXMtdmlzaWJsZSB7XHJcbiAgICAvL3BhZGRpbmctbGVmdDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgfVxyXG59XHJcbi8vIEVycm9yIHRoYXQgZG9lc24ndCBnZXQgc2hvdyBkaXJlY3RseSBpbiB0aGUgbWFpbiBjb250ZW50IGJ1dCByYXRoZXIgaW4gYSBjYWxsb3V0LlxyXG5zcGFuLmZvcm0tY2FsbG91dC1lcnJvciB7XHJcbiAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbi5cclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICBib3JkZXItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XHJcbiAgLy8gYW5pbWF0aW9uOiBrZl9zaGFrZSAwLjRzIDEuOCBsaW5lYXI7XHJcbn1cclxuXHJcblxyXG51bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwIDAgMzVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gID4gbGkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDExcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWR2YW5jZWQtZm9ybS1lcnJvciB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgZm9udC1zdHlsZTogJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zdHlsZTtcclxuICAgICAgY29sb3I6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1mYWlsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBjb2xvcjogJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1pY29uLWNvbG91cjtcclxuICAgICAgfVxyXG4gICAgICAmLmlzLXZhbGlkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tc3VjY2Vzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1mYWlsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gVGhlIHJlYXNvbiBmb3IgdGhlIG92ZXJyaWRlcyBpcyBiZWNhdXNlIHdlIG5lZWQgdG8gdXRpbGlzZSBhYmlkZSdzIGxpdmUgdmFsaWRhdGlvbiB3aGljaCBhZGRzIHRoZSBpbnZhbGlkIGNsYXNzLCBpdCBpcyBmYXIgc2ltcGlsYXIgdG8gb3ZlcnJpZGUgaGVyZSBpbnN0ZWFkIG9mIG1vZGlmeWluZyB0aGUgbm9kZSBtb2R1bGVzLlxyXG4uYWR2YW5jZWQtdmFsaWRhdGlvbi1hY3RpdmUuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgLy8gLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMgeyBcclxuICAvLyAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gIC8vICAgJiArIC5saW5lLWJ1dHRvbiB7XHJcbiAgLy8gICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAhaW1wb3J0YW50O1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxufVxyXG5cclxuLy8gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBncm91cC1mb3JtLWVycm9yICYgZXJyb3ItYmxvY2sgaXMgdGhlIGVycm9yLWJsb2NrIGlzIGRpY3RhdGVkIGJ5IHRoZSBzZXJ2ZXIgd2hlbiB0byBzaG93IGJ1dCBncm91cC1mb3JtLWVycm9yIGlzIHNob3duIHdoZW4gdGhlIEpTIHZhbGlkYXRpb24gZGVjaWRlcyB3aGVuIHRvZG8gc28uXHJcbi5ncm91cC1mb3JtLWVycm9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgQGluY2x1ZGUgZXJyb3ItYmxvY2soKTtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyBTdXByZXNzaW5nIHRvIGFsbG93IGZvciBidXR0b24gbWFyZ2luIGhhbmRsZSB0aGUgZ3V0dGVycywgdGhpcyB3YXMgZGVjaWRlZCBmb3IgZG93bmxvYWQgb3JkZXJzLlxyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgZm9yIHNlcnZlciBmb3JtIGVycm9ycy5cclxuLmVycm9yLWJsb2NrIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgbWFyZ2luOiAwIDAgMzBweDtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgQGluY2x1ZGUgZXJyb3ItYmxvY2soKTtcclxufVxyXG5cclxuLy8gLS0tIEdlbmVyYWwgdmFsaWRhdGlvbiAtLS1cclxuLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCB7XHJcbiAgaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICsgc3Bhbi5jaGVja2JveCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQGtleWZyYW1lcyBrZl9zaGFrZSB7XHJcbiAgMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4KTtcclxuICB9XHJcblxyXG4gIDIwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTtcclxuICB9XHJcblxyXG4gIDQwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDVweCk7XHJcbiAgfVxyXG5cclxuICA2MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNXB4KTtcclxuICB9XHJcblxyXG4gIDgwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4KTtcclxuICB9XHJcbn1cclxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgZm9udC13ZWlnaHQ6ICRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDtcclxufVxyXG5cclxubGFiZWwge1xyXG4gICY6bm90KC5kaXNhYmxlZCksICY6bm90KC5yZWFkLW9ubHktaW5wdXQpIHtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGZpbGUgdHlwZSBkdWUgdG8gdGhhdCBzcGFubmluZyB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAmOm5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4gICAgICAvL3dpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xyXG4gICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmlzLWludmFsaWQtaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICY6Zm9jdXMgKyBidXR0b24uaW5saW5lLWJ1dHRvbjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWhvdmVyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHb2luZyBiYWNrIG9uIHRoaXMgZGVjaXNpb24gYXMgRmlyZWZveCBvbiBoYXMgMi43NSUgb2YgZ2xvYmFsIHVzYWdlLCB0aGUgd2F5IHRvIGZpeCB0aGlzIGlzIHRvIGVzc2VudGFsbHkgb3V0cHV0IHRoZSBidXR0b24gbWFudWFsbHkgdXNpbmcgSFRNTCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNzg0NjAyMy9pbnB1dC10eXBlLXNlYXJjaC1uby1sb25nZXItc2hvd3MtY2FuY2VsLWJ1dHRvbi14LXVuZGVyLWZpcmVmb3hcclxuLy8gRHVlIHRvIGxhY2sgb2YgYnJvd3NlciBzdXBwb3J0IHRoaXMgbmVlZHMgdG8gYmUgc3VwcHJlc3MgZHVlIHRvIGNvbnNpc3RlbmN5LlxyXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIEludGVybmV0IEV4cGxvcmVyICovXHJcbi8vIGlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLWNsZWFyIHsgIGRpc3BsYXk6IG5vbmU7IHdpZHRoIDogMDsgaGVpZ2h0OiAwOyB9XHJcbi8vIGlucHV0W3R5cGU9c2VhcmNoXTo6LW1zLXJldmVhbCB7ICBkaXNwbGF5OiBub25lOyB3aWR0aCA6IDA7IGhlaWdodDogMDsgfVxyXG5cclxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi8vIC0tLS0tIFBvc3Rjb2RlIGxvb2t1cCAtLS0tLVxyXG4ubG9va3VwLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLy8gLnBvc3Rjb2RlLWxvb2t1cC1jb250YWluZXIge1xyXG4vLyAgIC5sYWJlbCB7XHJcbi8vICAgICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICB3aWR0aDogYXV0bztcclxuLy8gICAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG4ucG9zdGNvZGUtbG9va3VwLWVycm9yIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICYuYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxufVxyXG5pbnB1dC5sb29rdXAta2V5IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IDM2MHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG4gICYgKyBidXR0b24gIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgfVxyXG4gICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xyXG4gLy9AaW5jbHVkZSBidXR0b24xKCRjb2xvdXIxLCAxNCwgNjAwLCAwIDE1cHgpO1xyXG4gQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRwY29kZS1sb29rdXAtYnV0dG9uLXBhZGRpbmcsICRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXIsICRwY29kZS1sb29rdXAtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKFwiYXNzb2NpYXRlZFwiKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoXCJhc3NvY2lhdGVkXCIpLCAod2lkdGg6IGF1dG8sIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMTBweCAwIDAsIG1lZGl1bTogMCAwIDAgMTBweCwgbGFyZ2U6IDAgMCAwIDEwcHgpKTtcclxufVxyXG5cclxuLmxvb2t1cC1yZXN1bHRzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB1bCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMjVweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIC5zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJ1dHRvbiwgYSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaWYgKCRsb29rdXBzLXJlc3VsdHMtaGlnaGxpZ2h0ZWQtdGV4dC1lbmFibGVkKSB7XHJcbiAgICAgIC8vIEhpZ2hsaWdodCBjb250ZW50LlxyXG4gICAgICBzcGFuIHsgXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7IFxyXG4gICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYnJhbmNoLXNlYXJjaCwgJi5hY2NvdW50LXNlYXJjaCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLyAtLS0tLSBHZW9sb2NhdGlvbiAtLS0tLVxyXG4uZ2VvbG9jYXRpb24tY29udGlhbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlZmF1bHQgc2VhcmNoIHN0eWxlcyAtLS0tLSBcclxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICBmbGV4OiAxO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgQGlmIChzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgLy8gcGFkZGluZzogMCA3MHB4IDAgMjVweDtcclxuICAvLyB9XHJcbiAgLy8gQ29udHJhc3QgY2hlY2tlciBmb3Igc2VhcmNoIGJ1dHRvbi5cclxuICAvLyBEZWZhdWx0XHJcbiAgJGJ1dHRvbi1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KSAsbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gIC8vIEhvdmVyXHJcbiAgJGJ1dHRvbi1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gIC8vIEFjdGl2ZVxyXG4gICRidXR0b24tY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpLG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuXHJcbiAgJjpob3ZlciwgJi5ob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAyMHB4IDZweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICArIGJ1dHRvbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDE1cHggMHB4IDIwcHggMnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5mb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgKyBidXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8gYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAvLyBCaXQgb2YgYSBoYWNrIGJ1dCB0aGUgb25seSB3YXkgdG8gdmVydGljYWxseSBhbGlnbiB0aGUgdGV4dCBkdWUgdG8gc29tZSBmb250IGZhbWlseSdzIG1ha2luZyB0aGUgdGV4dCBhcHBlYXIgc2xpZ2h0IGhpZ2hpZXIgdGhhbiBvdGhlcnMgLi4uLi4gYW5kIG5vIGZsZXhib3ggZG9lc24ndCBoZWxwIGhlcmUgSSB0cmllZC5cclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBjb2xvcjogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAvL2ZvbnQtd2VpZ2h0OiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGUge1xyXG4gICAgICBmb250LXN0eWxlOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlO1xyXG4gICAgfVxyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgfVxyXG4gIEBpZiAoc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgJjpub3QoOmhhcygrIGJ1dHRvbikpIHtcclxuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gIH1cclxuICArIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogJHNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICB3aWR0aDogJHNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICBmb250LXNpemU6ICRzZWFyY2gtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICBAaWYgJHNlYXJjaC1idXR0b24taW5uZXItYm9yZGVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVG9nZ2xlYWJsZSBpbnB1dHMgLS0tLS0gXHJcbi50b2dnbGUtY29udGFpbmVyIHtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEdldHMgcGxhY2VkIG92ZXIgdGhlIGZpZWxkcyB0byBibG9jayB0aGUgdXNlciBmcm9tIGNsaWNraW5nIG9uIHRoZW0gLS0tLVxyXG4udWktYmxvY2stcGFuZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmxvY2stYmFja2dyb3VuZDtcclxuICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgei1pbmRleDogMTAwMDtcclxuICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vLWFjY2Vzcyk7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgZm9udC1zaXplOiA4MnB4O1xyXG4gICAgICBjb2xvcjogcmdiYSgkY29sb3VyMy0zLCAwLjYpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU1NPIFNlbGVjdGlvbiAtLS0tLVxyXG4uc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZzogI3skc3NvLWNvbW1vbi1nYXB9IDA7XHJcbiAgfVxyXG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogJHNzby1jb21tb24tZ2FwO1xyXG4gIH1cclxuICAub3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICYgKyAuc3NvLXNlcGVyYXRvciB7XHJcbiAgICAgIG1hcmdpbi10b3A6ICRzc28tY29tbW9uLWdhcDtcclxuICAgIH1cclxuICB9XHJcbiAgLnNzby1idXR0b24ge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzc28tYnV0dG9uLXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAvLyBVc2luZyBtaWNyb3NvZnQgYnV0dG9uIHN2ZyB3aWR0aCAmIGhlaWdodCB0byBnaXZlIG91ciBhc3BlY3QgcmF0aW8uIGh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9lbnRyYS9pZGVudGl0eS1wbGF0Zm9ybS9ob3d0by1hZGQtYnJhbmRpbmctaW4tYXBwc1xyXG4gICAgYXNwZWN0LXJhdGlvOiAyMTUvNDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRzc28tYnV0dG9uLXdpZHRoKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYubWljcm9zb2Z0IHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRzaGFyZWQtYnV0dG9ucy1kaXJlY3RvcnkgKyBpZigkc3NvLWJ1dHRvbi1taWNyb3NvZnQtdGhlbWUgPT0gXCJsaWdodFwiLFwibWljcm9zb2Z0LXNzby1saWdodC5zdmdcIixcIm1pY3Jvc29mdC1zc28tZGFyay5zdmdcIil9Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zc28tc2VwZXJhdG9yIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzc28tc2VwZXJhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbn0iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG4vLyBGb3VuZGF0aW9uIFNBU1MgZnVuY3Rpb24uXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbi8vIEV4cHJlc3MgY29uZmlndXJhdGlvbjtcclxuQGltcG9ydCAndmFyaWFibGVzLnNjc3MnO1xyXG4vLyBFeHByZXNzIE1JWElOJ3MuXHJcbkBpbXBvcnQgJ21peGlucyc7XHJcbi8vIEV4cHJlc3MgdHlwb2dyYXBoeS5cclxuQGltcG9ydCAndHlwb2dyYXBoeS5zY3NzJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogJGNvbG91cjQsXHJcbiAgc2Vjb25kYXJ5OiAkY29sb3VyMyxcclxuICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogJGNvbG91cjMtMTtcclxuJG1lZGl1bS1ncmF5OiAkY29sb3VyMy0yO1xyXG4kZGFyay1ncmF5OiAkY29sb3VyMy0zO1xyXG4kYmxhY2s6ICRjb2xvdXIyO1xyXG4kd2hpdGU6ICRjb2xvdXIxO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiBudWxsOyAvLyBUaGlzIGdldHMgb3ZlcnJpZGRlbiBieSBheGlzLXBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzLlxyXG4kYm9keS1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGJvZHktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XHJcbiRnbG9iYWwtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XHJcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcclxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xyXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuJHByaW50LWhyZWZzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbGFyZ2U6ICRnbG9iYWwtd2lkdGgsIC8vIFJhaXNpbmcgbGFyZ2UgYnJlYWtwb2ludCB2YWx1ZSwgc28gYXQgMTUwJSB6b29tIHdlIGdvIGludG8gbW9iaWxlLlxyXG4gIHhsYXJnZTogMTYwMHB4LFxyXG4gIHh4bGFyZ2U6IDE5MjBweFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICBoaWRwaS0xOiAxLFxyXG4gIGhpZHBpLTEtNTogMS41LFxyXG4gIGhpZHBpLTI6IDIsXHJcbiAgcmV0aW5hOiAyLFxyXG4gIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IG1lZGl1bTsgLy8gVGhlIHJlYXNvbiBmb3IgbG93ZXJpbmcgdGhpcyBpcyB0aGlzIHdpbGwgYWxsb3cgdGhlIHJlc3BvbnNpdmUgdGFibGUgYnJlYWtwb2ludCBraWNrIGluIGdpdmVuIHdlJ3JlIGdvaW5nIGFib3ZlIDEzMDBweCBkZW5zZSB0YWJsZXMgd291bGQgYmUgYmV0dGVyIHNob3cgaW4gbW9iaWxlIHZpZXcuXHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHgsXHJcbik7XHJcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xyXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBJTVBPUlRBTlQ6IERPIE5PVCBVU0UgVEhFU0UgQ09ORklHVVJBVElPTiBPUFRJT05TIFRIRSBTQVNTIEZJTEUgSVMgTk8gTE9OR0VSIEJFSU5HIElNUE9SVEVEIEFORCBFWFBSRVNTIEhBTkRMRVMgSEVBRElORyBGT05UUyBJVFNFTEYgU0VFIF9UWVBPR1JBUEhZLlNDU1NcclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzUpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XHJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1lcnJvci1mb250LXNpemUpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbi8vIEluc3RlYWQgb2YgdXNpbmcgZm91bmRhdGlvbidzIGluZGljYXRvcnMgd2UgdXNlIG91ciBvd24gZHVlIHRvIHBvc2l0aW9uaW5nLlxyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogZmFsc2U7XHJcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjY29yZGlvbnMtdGl0bGUtZm9udC1zaXplKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG91cjE7XHJcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMDtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogbnVsbDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiAkYnJlYWRjcnVtYnMtdXBwZXJjYXNlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiBtYXAtZ2V0KCRzaXRlLWljb25zLCBicmVhZGNydW1icy1zZXBlcmF0b3IpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogMDtcclxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMDtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICBzbWFsbDogMC41cmVtLFxyXG4gIGRlZmF1bHQ6IDFyZW0sXHJcbiAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAwO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDI2cHgsIC8vIGFkZGluZyBwb3NzaXRpb24gcmlnaHQgdG8gYmUgaW5saW5lIHdpdGggYWNjb3JkaW9uIHN0YXR1cyBhcnJvd3MuXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogYXV0byxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFRha2luZyBiYWNrIG93bmVyc2hpcCBmcm9tIGZvdW5kYXRpb24gb24gYXJyb3cgZnVuY3Rpb24gZHVlIHRvIG5lZWRpbmcgdG8gYWxsb3cgZm9yIGNvbmZpZ3VyYXRpb24gZm9yIGljb25zLlxyXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8gVGhlc2UgdmFsdWVzIHdlcmUgc2V0IHRvIG51bGwgYXMgdGhleSB3ZXJlIGNvbmZsaWN0aW5nIHdpdGggdGhlICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciBjb2xvdXIgc2NoZW1lcyBiYXNpY2FsbHkgY2F1c2luZyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGNvbnRlbnQgY29sb3VyLlxyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogbnVsbDtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbnVsbDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG91cjtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1mb250LXNpemUpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcclxuJGlucHV0LXNoYWRvdzogMDtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogJGJveFNoYWRvdzM7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kbGFiZWwtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuLy8gRGlzYWJsaW5nIHRoaXMgaW4gZmF2b3VyIG9mIHN0eWxlcyBpbiBfYXhpcy1tZW51cy5zY3NzXHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBudWxsO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6IG51bGw7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiBmYWxzZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogZmFsc2U7XHJcblxyXG4vLyAyNC4gTWV0ZXJcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XHJcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XHJcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xyXG5cclxuLy8gMjUuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRvZmZjYW52YXMtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4XHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAwO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDQwMDA7XHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcclxuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcclxuXHJcbi8vIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcclxuICBkb3duLFxyXG4gIHVwLFxyXG4gIHJpZ2h0LFxyXG4gIGxlZnRcclxuKTtcclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtZGlzcGxheTogKFxyXG4gIGlubGluZSxcclxuICBpbmxpbmUtYmxvY2ssXHJcbiAgYmxvY2ssXHJcbiAgdGFibGUsXHJcbiAgdGFibGUtY2VsbFxyXG4pO1xyXG5cclxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XHJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxyXG4gIGRlY2ltYWwsXHJcbiAgbG93ZXItYWxwaGEsXHJcbiAgbG93ZXItbGF0aW4sXHJcbiAgbG93ZXItcm9tYW4sXHJcbiAgdXBwZXItYWxwaGEsXHJcbiAgdXBwZXItbGF0aW4sXHJcbiAgdXBwZXItcm9tYW5cclxuKTtcclxuXHJcbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcclxuICB2aXNpYmxlLFxyXG4gIGhpZGRlbixcclxuICBzY3JvbGxcclxuKTtcclxuXHJcbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKTtcclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XHJcblxyXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xyXG5cclxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gIHdpZHRoLFxyXG4gIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICBvdmVybGluZSxcclxuICB1bmRlcmxpbmUsXHJcbiAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gIGxvd2VyY2FzZSxcclxuICB1cHBlcmNhc2UsXHJcbiAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJGNvbG91cjY7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRjb2xvdXI0O1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjQxcmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMDtcclxuJHRhYmxlLXBhZGRpbmc6IDA7XHJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XHJcbiR0YWJsZS1yb3ctaG92ZXI6ICR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiAkdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLXN0cmlwZTogb2RkO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XHJcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogJGNvbG91cjA7XHJcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpOyAvLyBQcmVzZXQtMSBpcyBwcmV0dHkgbXVjaCB3aGF0IHdlJ3JlIHVzaW5nIGV2ZXJ5d2hlcmUgc28gY2hhbmdpbmcgdG8gYmUgY29uc2lzdGVudC5cclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogbm9uZTtcclxuJHRhYi1jb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiBub25lO1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKCR0YWJzLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkY29sb3VyMDtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDA7XHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiBub25lO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkY29sb3VyMDsgLy8gU2V0IHRvIHRyYW5zcGFyZW50IGFuZCBvdmVycmlkZSB3aXRoIEV4cHJlc3MncyBTQVNTLlxyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMTBweDsgLy8gU2V0dGluZyBkZWZhdWx0IHZhbHVlIGJ1dCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIGJ5IEV4cHJlc3MncyBTQVNTICR0YWJzLWNvbnRlbnQtcGFkZGluZy5cclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gIHNtYWxsOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpLFxyXG4gIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycylcclxuKTtcclxuXHJcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogKFxyXG4gIHNtYWxsOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpLFxyXG4gIG1lZGl1bTogbWVkaXVtLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycylcclxuKTtcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6IDIwcHg7XHJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XHJcbiR4eS1ibG9jay1ncmlkLW1heDogODtcclxuXHJcbiIsIi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXHJcblxyXG4vLyBUT0RPOiByZW1vdmUgZGVwYXJ0bWVudCByZWZlcmVuY2VzIGZyb20gZG9jdW1lbnRhdGlvbiBidWlsZC5cclxuQGlmIChsZW5ndGgoJHNpdGUtc3R5bGVzLWNvbG91cnMpID4gMCkge1xyXG4gICAgLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUsIC5zaXRlLXN0eWxlIHtcclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggc3R5bGUgc2V0cy5cclxuICAgICAgICBAZm9yICRpbmRleCBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNpdGUtc3R5bGVzLWNvbG91cnMpIHtcclxuICAgICAgICAgICAgLy8gR2V0IHN0eWxlIHNldFxyXG4gICAgICAgICAgICAkc3R5bGUtc2V0OiBudGgoJHNpdGUtc3R5bGVzLWNvbG91cnMsICRpbmRleCk7XHJcbiAgICAgICAgICAgIEBpZiAoJHN0eWxlLXNldCkge1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IHByaW1hcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogbnVsbDtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHN0eWxlLXNldCwgcHJpbWFyeS1jb2xvdXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiBtYXAtZ2V0KCRzdHlsZS1zZXQsIHByaW1hcnktY29sb3VyKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHZhcmlhbnRzLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2V0LXByaW1hcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZXQtcHJpbWFyeS1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEdldCBzZWNvbmRhcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkc3R5bGUtc2V0LCBzZWNvbmRhcnktY29sb3VyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCBzZWNvbmRhcnkgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAwOiBtYXAtZ2V0KCRzdHlsZS1zZXQsIHNlY29uZGFyeS1jb2xvdXIpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdmFyaWFudHMuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiBtYXAtbWVyZ2UoJHNldC1zZWNvbmRhcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzZXQtc2Vjb25kYXJ5LWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgc3R5bGUgc2V0IGNsYXNzICYgYXNzaWduIGNvbG91ciBvdmVycmlkZSB2YXJpYWJsZS5cclxuICAgICAgICAgICAgICAgICYuZGVwYXJ0bWVudC0jeyRpbmRleH0sICYuc3R5bGUtI3skaW5kZXh9IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBQcmltYXJ5IENvbG91clxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNldC1wcmltYXJ5LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJwcmltYXJ5LWNvbG91clwiLCAkc2V0LXByaW1hcnktY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2VvbmRhcnkgQ29sb3VyXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2V0LXNlY29uZGFyeS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic2Vjb25kYXJ5LWNvbG91clwiLCAkc2V0LXNlY29uZGFyeS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBAd2FybiBcIlNpdGUgU3R5bGVzOiBObyBzZXQgZm91bmQgZm9yICN7JHN0eWxlLXNldH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gLS0tLS0tLSBDb250YWlucyBhbGwgc3R5bGVzIHJlZ2FyZGluZyBmb3JtIGxheW91dHMsIGlmIHlvdSdyZSBsb29raW5nIGZvciBpbnB1dCBvciBzZWxlY3Qgc3R5bGVzIHBsZWFzZSByZWZlciB0byBpbnB1dHMuc2NzcyAtLS0tLS0tXHJcblxyXG5cclxuLy8gVE9ETzogQ3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlZmFjdG9yaW5nIGNvZGUgdG8gdGhpcyBmaWxlLlxyXG5cclxuXHJcbi5yZXF1aXJlZC1wcm9tcHQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZyk7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luKTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVxdWlyZWQtcHJvbXB0LWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHJlcXVpcmVkLXByb21wdC1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRyZXF1aXJlZC1wdG9tcHQtZm9udC1zdHlsZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmcpO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gVHJ5IHRvIHByZXZlbnQgdGV4dCBmcm9tIHNwYW5uaW5nIHRvbyB3aWRlLlxyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICAgICAgLy8gSnVzdCB0byBrZWVwIHRoZSB0b3AgYW5kIGJvdHRvbSBpbmxpbmUgd2l0aCB0aGUgcGFkZGluZyBjYXVzZWQgYnkgdGhlIGFsZXJ0IGljb24uXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJHNhLW1hcmdpbiwgMSk7XHJcbiAgICB9XHJcbiAgICAmLmNvbnRlbnQtYm9yZGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gRm9ybXMgLS0tLS0tIFxyXG5mb3JtIHtcclxuICAgICYudXNlci1kYXRhLWZvcm0ge1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBwYWRkaW5nLWJvdHRvbSBmb3IgU1NPIGZvcm0gZGVzaWduIFxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIC8vIEdvdCB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3VyIGp1c3QgYSBwYWdlIGJhY2tncm91bmQgaW1hZ2UgaXMgc2V0LlxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2luZ2xlLWNvbHVtbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIG5vcm1hbGx5IHRoZSBzdWJtaXQgYnV0dG9uLlxyXG4gICAgICAgICAgICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGlucHV0IHRvIHRha2UgdXAgYXZhbGFibGUgd2lkdGguXHJcbiAgICAgICAgLy8gLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBpbnB1dCB7XHJcbiAgICAgICAgLy8gICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHJldmVhbC1wYXNzd29yZC13aWR0aH07XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1lZGl1bS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogNDY1cHg7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMsIGRpdiA+IGxlZ2VuZCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsICRjb2xvdXI0LCAkaGVhZGluZy1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiwgbGVnZW5kIHtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyLCAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkaGVhZGluZy0yLXBhZGRpbmcsIDMsIHByZXNldC00KSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUmUtYWRqdXN0aW5nIHRoZSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIGEgcnVsZS5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAuc3ViLWdyb3VwLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGVnZW5kIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViLWdyb3VwLW5hbWUge1xyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRzdWItaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjIsICRjb2xvdXIzKTsgXHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAmICsgLnJlcXVpcmVkLXByb21wdCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lcnJvci1ibG9jayB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHNvIHRoaXMgbG9vayBjb25zaXN0ZW50IHdpdGggZm9ybXMgaW4gYSBsYXJnZS02IGNlbGwuXHJcbiAgICAgICAgICAgIC8vICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDY4cHggMCAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgkZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQgKyAobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKSArIGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCkpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogbWFwLWdldCgkY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgLy8gQWRkaW5nIGJhY2tncm91bmQtY29sb3IgZHVlIHRvIGlmIGEgcGFnZSBiYWNrZ3JvdW5kIGlzIGFjdGl2ZS5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpZWxkc2V0LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgJiArIGgyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuZmllbGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHggNy41cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA4NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FwdGNoYSAtLS0tIFxyXG4uY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgLy8gQWRkaW5nIHBvc2l0aW9uIGFic29sdXRlIGFzIHJlY2FwdGNoYSdzIGlubGluZSBzdHlsZXMgYXJlIGNhdXNpbmcgbW9kYWxzIHRvIGJlIHB1c2hlZCBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAmLmNoZWNrYm94IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIH1cclxuICAgIC5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIEdvb2dsZSdzIHN0eWxlcyBkdWUgdG8gb3ZlcmxhcHBpbmcgdGhlIHN0aWNreSBidXR0b25zIGluIG1hbmFnZSBjYWxscy5cclxuICAgICAgICBib3R0b206IDYwcHggIWltcG9ydGFudDsgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gLS0tLS0gQ29uZmlybWF0aW9uIC0tLS0tIFxyXG5cclxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIHtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6ICgkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nIC8gMyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygoKSwgKHByZXNldC0xOiAwIGF1dG8gNTBweCkpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLndhcm5pbmcsICYuYWxlcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA0NXB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMCAyMi41cHggMTBweCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmNvbmZpcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgIH1cclxuICAgICYubWFyZ2luLWJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1zdWNjZXNzO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtd2FybmluZztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1hbGVydDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEhlYWRlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFVwcGVyICsgbG93ZXIgbmF2aWdhdGlvbiBiYXJzLlxyXG4tIFNpdGUgbG9nb1xyXG4tIEhlYWRlciBzdGlja3kgZnVuY3Rpb25hbGl0eTpcclxuICAtIEZ1bGxcclxuICAtIE1pbmlmaWVkXHJcbiAgLSBObyBUb3AgQmFyXHJcbiAgLSBNZW51XHJcbi0gVkFUIFN3aXRjaGVyXHJcbi0gQnJlYWRjcnVtYnNcclxuLSBCYXNrZXQgU3VtbWFyeSBcclxuLSBDYWxsb3V0cyBpbiB0aGUgaGVhZGVyIHRvIG1vZGlmeSBjYWxsb3V0IHNlZSBheGlzLW5vdGlmaWNhdGlvbi5zY3NzXHJcbi0gUHJlZGljdGl2ZSBzZWFyY2ggcG9zaXRpb25pbmcgdG8gbW9kaWZ5IHNlYXJjaCBzdHlsZSB0aGVuIGdvIHRvIGF4aXMtYXV0b2NvbXBsZXRlLnNjc3NcclxuLSBVU1AgYmFyIHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbW9kdWxlLlxyXG4tIFdlbGNvbWUgVGV4dFxyXG4tIFRhZyBsaW5lc1xyXG4tIFRPRE86IEkgYW0gY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHRyeWluZyB0byB1bnRhbmdsZSB0aGUgbWVnYSBtZW51IGNzcyArIG1ha2UgaXQgbW9yZSBnZW5lcmljIGFuZCByZWhvbWUgaXQgaW5zaWRlIG9mIGF4aXMtbWVudXMuc2Nzc1xyXG4qL1xyXG5cclxuXHJcbi8vLS0tLS0gU3RpY2t5IEhlYWRlciAtLS0tLSBcclxuaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBbZGF0YS1heGlzLXN0aWNreV0ge1xyXG4gICAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICAgICAgJi5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTW9iaWxlIC8gVGFibGV0IGRvZXNuJ3QgaGF2ZSBhbnkgY29uZmlnIGFsbCBpdCBzaG93cyBpcyB0aGUgbG9nbyArIHRvZ2dsZSBiYXIuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjVzIGVhc2Utb3V0OyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9TaG93IGZ1bGwgaGVhZGVyIHdoZW4gc3RpY2t5LlxyXG4gICAgICAgICAgICAvLyAmW2RhdGEtc3RpY2t5LXR5cGU9XCJGdWxsXCJdIHtcclxuICAgICAgICAgICAgICAgIC8vTm8gU3BlYyBmb3IgdGhpcyB5ZXQuXHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy9SZW1vdmUgdG9wLWJhciB3aGVuIHN0aWNreS5cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTm9Ub3BCYXJcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3MgdG9wLWJhciwgcmVkdWNlIGhlYWRlci1jb250ZW50IGhlaWdodCBidXQgcmV0YWluIG1lZ2EgbWVudS5cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWxlZnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luLCAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luLCAzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uSW50cm8sIG1hcmdpbi1ib3R0b20gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1jZW50ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRoZWFkZXItbG9nby13aWR0aCwgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICNhY3Rpb24tYmFyLWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRoZWFkZXItbWluaWZpZWQtaGVpZ2h0IC0gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1YmJsZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6ICgkaGVhZGVyLXNlYXJjaC1oZWlnaHQgLSA1KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFqYXgtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb21tZW50aW5nIG91dCBhcyB0aGlzIGNhdXNlIHRoZSByZXN1bHRzIHRvIG92ZXJmbG93IHRoZSB2aWV3cG9ydCBmb3Iga2luZ3NmaWVsZC5cclxuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFNvIGJhc2tldCBnZXRzIHZlcnRpY2FsbHkgYWxpZ25lZC5cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAmICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBOb3JtYWxseSBidXR0b24gY29udGFpbmVycyBzaXQgaGVyZSBpbiBhIGRpdiBzbyBzZWxlY3RpbmcgYWxsIGRpcmVjdCBkaXZzLlxyXG4gICAgICAgICAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAjeyRob21lLWJ1dHRvbi1pY29uLXNpemUgLyAxLjJ9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAjeyhzcGFjaW5nLXZhbHVlKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIDEpIC8gMi4yKX0gI3soc3BhY2luZy12YWx1ZSgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCAyKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpI3tpZigkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCBcIjpub3QoLmhvbWUtYnV0dG9uKVwiLCBcIlwiKX0gPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICN7KGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogI3sobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybywgaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyLCAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRoZWFkZXItbG9nby13aWR0aCwgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBDb250YWluZXIgLS0tLS0gXHJcbi8vIENvbnRhaW5lciBhZnRlciBzdGlja3kgY29udGFpbmVyLlxyXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgJGhlYWRlci1jb250ZW50LWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtd2VpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UtcG9zaXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgQ29udGVudCBSZXNwb25zaXZlIFRvZ2dsZSBCYXIgKCBiYXNpY2FsbHkgbW9iaWxlIHZpZXcgKSAtLS0tLVxyXG4uaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHtcclxuICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZyB0byBtYWtlIHN1cmUgYnV0dG9ucyBhcmUgbGVnaWJhbC4uXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHRvZ2dsZS1kZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICR0b2dnbGUtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1yZXNwb25zaXZlLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBhLCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplO1xyXG4gICAgICAgIC8vIFNldCBoZWlnaHQgdG8gMTAwJSBpZiB2YWx1ZSA9PSBmaXQtY29udGVudCB0byBwcmV2ZW50IGRpZmZlcmVudCBoZWlnaHRzIGFuZCBpY29ucyBhcHBlYXJzIHN0YWdnZXJlZC5cclxuICAgICAgICBoZWlnaHQ6IGlmKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemUgPT0gZml0LWNvbnRlbnQsIDEwMCUsICRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9nZ2xlLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvZ2dsZS1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYVtocmVmXj1cInRlbDpcIl0ge1xyXG4gICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCAge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgdGVsZXBob25lKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGVsZXBob25lKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBtYWlsKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW1haWwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1zZWFyY2gge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgc2VhcmNoKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLmhlYWRlci10b2dnbGUtYmFza2V0IHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIGJhc2tldCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1tZWdhLW1lbnUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaGFtYnVyZ2VyKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWhhbWJ1cmdlci1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemUpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtYWNjb3VudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb24pO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItbW9iaWxlLW1lbnUge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgei1pbmRleDogJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gTW9iaWxlIC8gVGFibGUgc3BlY2lmYyBzdHlsZXMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB6LWluZGV4OiBhdXRvO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJi5hbmltYXRlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMTBweDtcclxuICAgICAgICAvLyBTbyBpZiBtZW51J3MgZ2V0IGNvbWJpbmVkIHRoZXkncmUgdGhlbiBjb25zaXN0ZW50IHdpdGggdGhlIG1lZ2EgbWVudS5cclxuICAgICAgICB1bC5tZW51ID4gbGkgPiBhe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgVG9wIEJhciAtLS0tLVxyXG4vLyBUeXBpY2FsbHkgY29udGFjdCBpbmZvIGdldHMgZGlzcGxheWVkIGhlcmUgKyBjbXMgcGFnZSBsaW5rcyBidXQgdGhpcyBnZXRzIHN1cHByZXNzZWQgZm9yIG1vYmlsZS5cclxuLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBjb250ZW50IGNvbnRhaW5lciAtLS0tLVxyXG4vLyBUaGlzIGlzIHRoZSBhcmVhIG5vcm1hbGx5IGJldHdlZW4gdGhlIHRvcC1iYXIgJiBtZWdhLW1lbnVcclxuLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbWVkaXVtLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gbWluLWhlaWdodDogJGhlYWRlci1jb250ZW50LW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIE5vIGxvbmdlciB1c2luZyBmbGV4Ym94IGR1ZSB0byBqZWxhd3JlbmNlJ3MgZGVzaWduLlxyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgZGlzcGxheTogLW1zLWdyaWQ7XHJcbiAgICAgICAgLy8gVGhlIGNvbHVtbiBsYXlvdXQgZm9yIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkaGVhZGluZy1ncmlkLXRlbXBsYXRlLWNvbHVtbnM7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogeGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBDb21tb24gaGVhZGVyIHN0eWxlcyBiZXR3ZWVuIGFyZWFzIC0tLSBcclxuLmhlYWRlci1jb250ZW50LWxlZnQsIC5oZWFkZXItY29udGVudC1jZW50ZXIsIC5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICAvLyBJbiBtb2JpbGUgc3VwcmVzcyB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHMuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgLy8gRXhjbHVzaW9uIGxpc3QuXHJcbiAgICAgICAgQGluY2x1ZGUgbm90KCRoZWFkZXItY29tcG9uZW50LWRpc3BsYXktbGlzdCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCBsZWZ0IC0tLSBcclxuLmhlYWRlci1jb250ZW50LWxlZnQge1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6ICRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNwYW4gMiByb3dzLlxyXG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLXJvdy1zcGFuOiAyO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWxlZnQnKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtbGVmdCcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXMpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zLCB4eGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUgIHtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1tYXJnaW47XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBpdGVtIHBhZGRpbmcuXHJcbiAgICAgICAgICAgICRpdGVtLXBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRpdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgID4gbGkgPiBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsIG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyIHVsLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gR2V0IGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgICAgICAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gR2V0IGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgICAgICAgICAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAvLyBHZXQgaG92ZXIgY29sb3VyLlxyXG4gICAgICAgICAgICAkaG92ZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRob3Zlci1jb2xvdXIpLCAwLCAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXVuZGVybGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCBjZW50ZXIgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLWp1c3RpZnktY29udGVudDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1jZW50ZXInKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtY2VudGVyJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBQdXQgdGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHdlYXJlc3luYyB0byBvZmZzZXQgdGhlIGhlYWRlciBjb250ZW50IG1lbnUgdG8gbWF0Y2ggdGhlaXIgb3JpZ2luYWwgc2l0ZS5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgRml4LlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGhlYWRlciBiYWNrZ3JvdW5kIGRvZXNuJ3QgbWF0Y2ggY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgcmlnaHQgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgIGxlZnQ6IGluaGVyaXQ7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgc2VhcmNoIHRvIG92ZXJsYXAgd2l0aCByZWNlbnRseSBhZGRlZC5cclxuICAgIC8vIHotaW5kZXg6IDEwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucyk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpZiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50IHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LXJpZ2h0LWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtcmlnaHQnKSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogbWFwLWdldCgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtcmlnaHQnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTbyBoaWdoIGR1ZSB0byB1bmRlcmxhcHBpbmcgaGVhZGVyIG1lbnUgZHJvcGRvd24ncy5cclxuICAgICAgICAvLyB6LWluZGV4OiAyMDAwMDA7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucywgeGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zLCB4eGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIC8vIEdldCBkZWZhdWx0IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1zdXBwcmVzcy1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgc2l0ZSBsb2dvIC0tLS0tIFxyXG4ubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiAkbG9nby1jb250YWluZXItanVzdGlmeTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRsb2dvLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbG9nby1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwdnc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGEgdGhlIG1ham9yaXR5IG9mIGxvZ28ncyBhcmUgbm90IHNxdWFyZSBhbmQgYSBtb3JlIHNpbXBsZSBzb2x1dGlvbiB3b3VsZCBiZSBqdXN0IGp1c3Qgc2NhbGUgYnkgd2lkdGguXHJcbiAgICAgICAgLy9oZWlnaHQ6IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMjVweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvRnVsbCwgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICBAaWYgJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ29NaW5pZmllZCwgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgIEBpZiBub3QgJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBUYWcgTGluZSAtLS0tLSBcclxuLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHAge1xyXG4gICAgICAgIC8vIENoZWNrIGNvbG91ciBjb250cmFzdC5cclxuICAgICAgICAkY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItdGFnbGluZS1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGluZy10YWdsaW5lLXBhZGRpbmc7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdGFnbGluZS1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIC8vIFJlYXNvbiBmb3IgcHJldmVudCB3cmFwcGluZyBpcyBiZWNhdXNlIGl0IHdpbGwgY2F1c2UgdGhlIHNlYXJjaCArIGJhc2tldCBzdW1tYXJ5IHRvIGJlIG91dCBvZiBhbGlnbi5cclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICY6aXMoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IGlmKCRoZWFkZXItdGFnbGluZS1oZWlnaHQgPT0gXCJhdXRvXCIsIDAsIDEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRlci10YWdsaW5lLWxvd2VyLXN1cHByZXNzKSB7XHJcbiAgICAgICAgJi5sb3dlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXRhZ2xpbmUge1xyXG4gICAgLy8gQ2hlY2sgY29sb3VyIGNvbnRyYXN0LlxyXG4gICAgJGNvbG91cjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXRhZ2xpbmUtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAkaGVhZGluZy10YWdsaW5lLXBhZGRpbmc7XHJcbiAgICBjb2xvcjogJGNvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdGFnbGluZS1mb250LXNpemUpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0O1xyXG4gICAgLy8gUmVhc29uIGZvciBwcmV2ZW50IHdyYXBwaW5nIGlzIGJlY2F1c2UgaXQgd2lsbCBjYXVzZSB0aGUgc2VhcmNoICsgYmFza2V0IHN1bW1hcnkgdG8gYmUgb3V0IG9mIGFsaWduLlxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFNlYXJjaCAtLS0tLVxyXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpKSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRpbmctc2VhcmNoLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNlYXJjaCBiYWNrZ3JvdW5kXHJcbiAgICAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYm9yZGVyXHJcbiAgICAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIFxyXG4gICAgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBidXR0b24gYmFja2dyb3VuZFxyXG4gICAgJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJ1dHRvbiBjb2xvdXJcclxuICAgICRidXR0b24tZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkYnV0dG9uLWhvdmVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWRlZmF1bHQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWljb24tc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAvLyBIYXZpbmcgdG8gc2V0IG9yZGVyIGR1ZSB0byBzaXRlIHNlYXJjaCByZXN1bHRzIGlzIHBsYWNlZCBiZWZvcmUgdGhlIGlucHV0ICsgYnV0dG9uIHdoaWNoIGRvZXNuJ3Qgd29yayBpbiBtb2JpbGUgYXMgaXQgbmVlZHMgdG8gYXBwZWFyIGFmdGVyIHRoZW0uXHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSB0byBzdXBwb3J0IHNpdGUgc2VhcmNoIDM2MCBtYXJrdXAgdGhhdCBpcyB1c2VkIG9uIEF4aXMgQ29ycG9yYXRlLlxyXG4gICAgI3VuaWJveC1zdWdnZXN0LWJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gSUYgd2UncmUgb3ZlcnJpZGluZyB0aGUgaGVhZGVyJ3Mgc2VhcmNoIGJ1dHRvbiB3aWR0aCB0aGVuIHVzZSB0aGF0IGVsc2UgdXNlIHRoZSBzaXRlJ3MgZGVmYXVsdCB3aWR0aC5cclxuICAgICAgICAkYnV0dG9uLXdpZHRoOiBpZigkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgsJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoLCRzZWFyY2gtYnV0dG9uLXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnV0dG9uLXdpZHRofSk7XHJcbiAgICAgICAgLy8gU2V0dGluZyBvcmRlciBzbyByZXN1bHRzIGFwcGVhciB1bmRlciB0aGUgc2VhcmNoIGluIG1vYmlsZS5cclxuICAgICAgICBvcmRlcjogMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIC8vIEZvcmNlIHJlbGF0aXZlIHBvc2l0aW9uaW5nIHNvIHRoZSByZXN1bHQgYXBwZWFyIGluIHRoZSBzZWFyY2ggcG9wdXAgLyBtZW51IGZvciBtb2JpbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIHNwYWNpbmctdmFsdWUoJGZpZWxkc2V0LWlucHV0LXBhZGRpbmcsIDQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnVuaWJveC1zZWxlY3RhYmxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiwgLnVuaWJveC1oaWdobGlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4sIC51bmlib3gtaGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGFjLXJlc3VsdHMtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYWMtcmVzdWx0cy1vZmZzZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3c6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAkaW5wdXQtaG92ZXItYm94LXNoYWRvdzogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICBAaWYgKCRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaW5wdXQtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ob3Zlci1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFByZWRpY3RpdmUgU2VhcmNoICggZm9yIGhlYWRlciApIC0tLSBcclxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICgkYWMtcmVzdWx0LXBpbi10by10b3ApIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgei1pbmRleDogMTAwMDE7XHJcbiAgICAvLyB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgdG9wKSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHJpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHJpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIGxlZnQpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCBsZWZ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBhLmFjX3Jlc3VsdHNfZW50cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjBkZSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTJkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm8tcmVzdWx0cyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmcyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZzQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuXHJcbiAgICAuYWNfcmVzdWx0c19lbnRyeSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGNhbGwgdG8gYWN0aW9uIC0tLS0tIFxyXG4vLyBVc2VkIGZvciBsb2dpbiBidXR0b24gb3IgZW5xdWlyeSBidXR0b24uXHJcbi5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lci1oZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRkZXNrdG9wLXN1bW1hcnktd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAvLyBLZWVwIGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIHNlYXJjaCBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBiYXNrZXQgc3VtbWFyeSAtLS0tLVxyXG4jYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaGVpZ2h0O1xyXG59XHJcbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE1ha2Ugc3VyZSBiYWNrZ3JvdW5kIGNvbG91cidzIGNvbnRyYXN0IGFnYWluc3QgdGhlIHRleHQgY29sb3VyJ3MgaW4gdGhlaXIgdmFyaW91cyBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApLlxyXG4gICAgLy8gd2FybmluZyBjb250cmFzdCBjaGVja2VyLlxyXG4gICAgJHdhcm5pbmctaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgIC8vIGFsZXJ0IGNvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAkYWxlcnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcbiAgICAkYWxlcnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuXHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCB3YXJuaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhbGVydCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUmVjZW50bHkgYWRkZWQuXHJcbiAgICAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNXB4O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBbZGF0YS1iYXNrZXQtc3VtbWFyeS1ub3RpZmljYXRpb25zXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEJhc2tldCBzdW1tYXJ5IHRoYXQgZ2V0cyBzaG93biBwcmltYXJpbHkgZm9yIHRoZSBkZXNrdG9wICggbm8gZHJvcCBkb3duIG9yIHBvcHVwIClcclxuICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICB3aWR0aDogJGRlc2t0b3Atc3VtbWFyeS13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtcHJldmlldy1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgZGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBJZiB0aGUgdGhlc2UgY29sb3VycyBtYXRjaCBpdCBpcyBwb2ludGxlc3MgZXhwYW5kaW5nIHRoZSBiYXNrZXQgaWNvbnMgYmFja2dyb3VuZCB0byBvdmVybGFwIHRoZSByZXN0IG9mIHRoZSBzdW1tYXJ5LlxyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkgPT0gbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYmFza2V0LXByZXZpb3VzLWljb24td2lkdGg7XHJcbiAgICAgICAgICAgIC8vIElmIGJvcmRlciB0aGVuIHJlZHVjZSBoZWlnaHQgdG8gYWxsb3cgZm9yIGJvcmRlci5cclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogWW91J3JlIGFzc3VtaW5nIHRoZSBib3JkZXIgaXMgMXB4IHNvIHRoaXMgbWlnaHQgY2F1c2UgaXNzdWVzIGRvd24gdGhlIGxpbmUuLi5cclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodCAtIDIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkYmFza2V0LXByZXZpZXctaWNvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkYmFza2V0LXByZXZpZXctaWNvbi1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYmFza2V0LXByZXZpZXctaWNvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgIC8vIFdlJ3JlIFwiIGFzc3VtaW5nIFwiIHRoYXQgaWYgdGhlIHZhbHVlIGlzIDI1cHggdGhlbiB3ZSB3YW50IHRoZSBpY29uIHRvIGJlIG91dGxpbmVkIGJ5IGEgY2lyY2xlLlxyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzID09IDI1cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgYWxsIGp1c3QgYmVjYXVzZSBvZiBhbGwgdGhlIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgYXBwZWFycyBpbnNpZGUgb2YgdGhlIGJhc2tldCBkZXNrdG9wIHN1bW1hcnkuXHJcbiAgICAuYmFza2V0LWRldGFpbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgQGlmICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGUge1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkYmFza2V0LXByZXZpZXctZm9udC1zdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTg1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICAmLmJhc2tldC1kZXRhaWxzLXF1YW50aXR5IHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJhc2tldC1kZXRhaWxzLXByaWNlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU3VtbWFyeSB0aGF0IGdldHMgZGlzcGxheWVkIGZvciBtb2JpbGUgZXNzZW50aWFsbHkgYXMgYSBwb3B1cCBtZW51LlxyXG4gICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW9yZGVyLXRvdGFsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDI1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3Rpb24tYnV0dG9uIHsgXHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnRleHRDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODUlO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuXHJcbiAgICAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDM3MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLnN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmcge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCA4LCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAuc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgOCwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzcwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjVweCAxMHB4IDYwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNyZWNlbnRseUFkZGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVwZGF0ZS5hY3RpdmUge1xyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcuXHJcbiAgICAgICAgICAgIGEgeyBcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1YmJsZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAoJGJhc2tldC1wcmV2aWV3LWhlaWdodCArIDUwKTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgLy8gei1pbmRleDogNTAwO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMjBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIEhlYWRlciB3ZWxjb21lIHRleHQgLS0tLS1cclxuLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcmRlcjogMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci13ZWxjb21lLXRleHQtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgZmxleC1iYXNpczogJGhlYWRlci13ZWxjb21lLXRleHQtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoeHhsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogeHhsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItd2VsY29tZS10ZXh0LXRleHQtYWxpZ247XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXdlbGNvbWUtdGV4dC1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgICYgKyAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIE1lbnVzIC0tLS0tXHJcbi5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hbGwtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3Agc3BlY2lmaWMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAvLyBEb24ndCBjaGFuZ2UgdGhlIHBhZGRpbmcgYm90dG9tIGFzIHRoaXMgd2lsbCB0aHJvd24gdGhlIG1lZ2EgbWVudSBvdXQgb2YgYWxpZ25tbmV0IHdpdGggdGhlIGJvdHRvbSBvZiB0aGUgbmF2IGJhci5cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpZiAkaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZDtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGFyZ2UtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3cge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJG1lZ2EtbWVudS1ib3JkZXIge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRtZWdhLW1lbnUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRtZWdhLW1lbnUtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb2xsb3cgbWVnYSBtZW51IHNtYWxsIHN0eWxlcy5cclxuICAgIC8vIExldmVsIDFcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMZXZlbCAzICsgXHJcbiAgICAgICAgICAgICAgICAgICAgdWwgPiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCkge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1jb2xvdXI7XHJcbn1cclxuXHJcbi5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIExldmVsIDIgQ29sb3Vyc1xyXG4gICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAgLy8gRGVmYXVsdC5cclxuICAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAvLyBIb3Zlci5cclxuICAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAvLyBBY3RpdmUuXHJcbiAgICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyBMZXZlbCAzIENoaWxkcmVuIENvbG91cnMuXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcblxyXG5cclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXdpZHRoKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICB1bC5hY2NvcmRpb24tbWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEdWUgdG8gc3VibWVudSBwYXJlbnRzIGhhdmUgYW4gaWNvbiB0byB0aGUgbGVmdCB3ZSBuZWVkIHRvIGFkZCBzb21lIG1hcmdpbiB0byB0aGUgbm8gcGFyZW50cyBvdGhlcndpc2UgdGhlIGdyb3VwIGRlc2NyaXB0aW9ucyB3aWxsIG5vdCBsaW5lIHVwLlxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICN7c3BhY2luZy12YWx1ZSgkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLCA0KSArIDIwfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSwgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgcGFyZW50IGluZGljYXRvciB0aGF0IGlzIHNob3duIG9uIG5vcm1hbCBkcm9wZG93bnMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1hY3RpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcblxyXG4gICAgfVxyXG4gICAgdWwubWVudS5tZWdhLW1lbnUsIHVsLm1lbnUuZHJvcGRvd24ge1xyXG4gICAgICAgIC8vIEdyYW5kIHBhcmVudCBncm91cCBzZXBlcmF0b3JzLlxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tcmlnaHQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1maXJzdC1jaGlsZC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhvbWUtYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICN7aWYoJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzLCBcIiY6bm90KDpmaXJzdC1jaGlsZCkgXCIsIFwiXCIpfSA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2xlZnQ6IC0jeyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpICogMS41KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwtJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAgLDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9yaWdodDogLSN7KG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCkgKiAxLjUpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogaWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsLSRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQgIT0gJGRlZmF1bHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRm9yIGRyb3Bkb3duIGFsaWdubWVudC5cclxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgbWVudXMgY29udGFpbmVyIC0tLSBcclxuLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIEBpZiAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJiArIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxufVxyXG4uaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG4uaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVG9nZ2xlIEJhciAtLS0gXHJcbi8vIEVzc2VudGlhbGx5IGEgY29sbGVjdGlvbiBvZiB0b2dnbGUgYnV0dG9ucyB0aGF0IHRyaWdnZXIgdmFyaW91cyBmdW5jdGlvbmFsaXR5IGkuZSBzZWFyY2ggYmFyICYgYmFza2V0IHN1bW1hcnkuXHJcbi5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGdhcDogJGhlYWRlci10b2dnbGUtYmFyLWdhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLnRvZ2dsZS1iYXItaW5hY3RpdmUtbW9iaWxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250YWluZXIgZm9yIGJvdGggYnV0dG9uICYgY29udGVudCBjb250YWluZXJzLlxyXG4gICAgLmhlYWRlci10b2dnbGUtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICYuYWxpZ24taXRlbXMtcGFyZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUb2dnbGUgYnV0dG9uIGNvbnRhaW5lcnNcclxuICAgIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0ICE9ICRkZWZhdWx0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICAgICAgJi5zZWFyY2ggLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZWZhdWx0LXNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjb3VudCAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC8vIEdldCBjdXN0b20gYnV0dG9uIHBhZGRpbmcuXHJcbiAgICAgICAgICAgICRidXR0b24tcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxlcy5cclxuICAgICAgICAgICAgQGlmICgkYnV0dG9uLXBhZGRpbmchPSAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmcgKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7ICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemUgKyA2fTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA0LjVweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCBjb250YWluZXJzLlxyXG4gICAgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgJi5zZWFyY2gge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAgbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRocywgc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY291bnQtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhY2NvdW50LW1lbnUtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYWNjb3VudC1tZW51LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYmFyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTE2cHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogIG1hcC1nZXQoJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHMsIGFjdGlvbi1iYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQWNjb3VudCBNZW51IC0tLS0tXHJcbi8vIC0tLSBCdXR0b24gLS0tXHJcbi5oZWFkZXItYWNjb3VudC1idXR0b24ge1xyXG5cclxuICAgICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuXHJcbiAgICAkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcblxyXG4gICAgJGRlZmF1bHQtY29sb3VyOiBpZigkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91ciwgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAkaG92ZXItY29sb3VyOiBpZigkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIsIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBob3ZlcikpO1xyXG4gICAgJGFjdGl2ZS1jb2xvdXI6IGlmKCRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIgLGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItYWNjb3VudC1idXR0b24tbWluLWhlaWdodDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb24pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAgJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWd1dHRlcjtcclxuICAgIC8vIERlZmF1bHQgcGFkZGluZy5cclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICBAaWYgKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5sb2dnZWQtaW4ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgIEBpZiAoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICBAaWYgKCRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBAaWYgKCRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb24pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIE1lbnUgLS0tIFxyXG4uYWNjb3VudC1tZW51IHtcclxuICAgIGEge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVVNQIEJhciAtLS0tLVxyXG4vLyBUT0RPOiBXaGVuIHRoaXMgb2ZmaWNhbGx5IGJlY29tZXMgYSBtb2R1bGUgdGhpcyBzaG91bGQgYmUgbW92ZWQgb3V0IG9mIHRoZSBoZWFkZXIuc2NzcyBpbnRvIG1vZHVsZXMuc2Nzc1xyXG4udXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR1c3AtYmFyLXBhZGRpbmcpO1xyXG4gICAgQGlmICR1c3AtYmFja2dyb3VuZC1mdWxsLXdpZHRoIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHVzcC1iYXItcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuLnVzcC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3AtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLnVzcC1iYW5uZXIsIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gSWYgdGV4dCBhbGlnbiBub3QgPT0gY2VudGVyIHRoZW4gYWRqdXN0IGZsZXhib3ggYWxpZ25tZW50LlxyXG4gICAgICAgIEBpZiAoJHVzcC1hbGlnbm1lbnQgPT0gXCJsZWZ0XCIpIHtcclxuICAgICAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgKCR1c3AtYWxpZ25tZW50ID09IFwicmlnaHRcIikge1xyXG4gICAgICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGZsZXgtZW5kXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgcHsgXHJcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHVzcC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCA+IHAge1xyXG4gICAgICAgICAgICBAaWYgKCR1c3AtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICR1c3AtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdXNwLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyAgIFxyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdXNwLWZsZXgtYWxpZ247XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHVzcC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHVzcC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c3AtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR1c3AtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIEBpZiAoJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHVzcC1pbWFnZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICR1c3AtaW1hZ2UtZ3V0dGVyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHVzcC1pbWFnZS1ndXR0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHVzcC1mbGV4LWFsaWduO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHVzcC1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAkaG92ZXItY29sb3VyOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRob3Zlci1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlLWNvbG91cjogbWFwLWdldCgkdXNwLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGFjdGl2ZS1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgcGFkZGluZyBkdWUgdG8gY29udGVudCBiZWluZyBpbnNpZGUgb2YgYW5jaG9yLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIEBpZiAkdXNwLWFuY2hvci1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR1c3AtYW5jaG9yLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHVzcC1hbmNob3ItaW5kaWNhdG9yLWZvbnQtc2l6ZTsgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICR1c3AtYW5jaG9yLWluZGljYXRvci1jdXN0b20taWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHVzcC1ndXR0ZXIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHVzcC1ndXR0ZXI7IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRvIG1ha2Ugc3VyZSBjb250ZW50IGlzIGZsdXNoIGFnYWluc3QgY29udGFpbmVyLlxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJHVzcC1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAmICsgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5mYXMge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQnJlYWRjcnVtYnMgLS0tLS1cclxuLy8gTWFrZSBzdXJlIHRoZXJlIGlzIGEgZ2FwIGJldHdlZW4gdGhlIGhlYWRlciB3aGVuIHRoZXJlIGlzIG5vIGJyZWFkY3J1bWIgb3IgdmF0IHN3aXRjaGVyIG90aGVyd2lzZSBwYWdlIGNvbnRlbnQgd2lsbCBwdXNoIHVwIGFnYWluc3QgdGhlIGhlYWRlciwgdHJlYXQgdGhlIGhvbWVwYWdlIGFzIGEgc3BlY2lhbCBjYXNlIGFzIGluIHNvbWUgZGVzaWducyB3ZSBidXR0IHRoZSBtb2R1bGVzIHJpZ2h0IHVwIGFnYWluc3RzIHRoZSBoZWFkZXIuXHJcbmJvZHk6bm90KCNob21lKSAuaGVhZGVyLWJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46ICRicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgJjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgbmVlZHMgdG8gYmUgY29uZmlndXJlZCBvbiBhIHNpdGUgYmFzaXMgYXMga2luZ3NmaWVsZCBoYXMgbm8gVVNQJ3MgKyBkaXNhYmxlZCBWQVQgc3dpdGNoIGFuZCByZXF1ZXN0ZWQgdGhhdCB3ZSBoYXZlIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCBmaXJzdCBtb2R1bGUgODQ5NDEyLlxyXG5ib2R5I3tpZigkaGVhZGVyLW5vLWJyZWFrY3J1bWJzLXRvZ2dsZS1zd2l0Y2gtc2hpbS1vbi1ob21lcGFnZSxcIlwiLFwiOm5vdCgjaG9tZSlcIil9IC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICY6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgJjpoYXMoLmJyZWFkY3J1bWJzKSwgJjpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSkpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEsIGxhcmdlKSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuYnJlYWRjcnVtYnMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSk7XHJcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogc21hbGwtdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmVhZGNydW1icyB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGRpc3BsYXkgc3R5bGUgZmxleCB0byBhdHRlbXB0IHRvIGNlbnRlcmlzZSB0aGUgc2VwZXJhdG9yL2xldmVsIGljb25zLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBTd2l0Y2hlZCBmcm9tIGJhc2VsaW5lIHRvIGNlbnRlciBmb3Iga2luZ3N3b29kIHByb2plY3QgODQyNTM5LCB0aGlzIG1pZ2h0IG5lZWQgdG8gYmUgcmV2ZXJ0ZWQuXHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMi41cHggMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJyZWFkY3J1bWJzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYWN0aXZlLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLW1hcmdpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgcGFkZGluZy10b3AgYXMgd2UncmUgMXB4IG9mZiB2ZXJ0aWNhbCBjZW50ZXIuXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltIC8gMik7XHJcbiAgICAgICAgICAgIEBpZiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udG9nZ2xlLXN3aXRjaC1sYWJlbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBWQVQgU3dpdGNoZXIgLyBIZWFkZXIgdG9nZ2xlIHN3aXRjaCAtLS1cclxuLy8gVGhpcyB3YXMgcmVmYWN0b3JlZCBpbnRvIFwiIGhlYWRlci10b2dnbGUtc3dpdGNoIFwiIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBkZXNpZ24gdG8gYWxsb3cgZm9yIGRpZmZlcmVudCBjb2xvdXIgY29kaW5nIHRvIGJlIGRlZmluZWQuXHJcbi52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZ2FwO1xyXG4gICAgQGlmICgkdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNwZWNpZmljIHN0eWxlcy5cclxuICAgICYudmF0LXN3aXRjaGVyIHtcclxuICAgICAgICAmLmluY2x1c2l2ZSwgJi5vZmYge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXhjbHVzaXZlLCAmLm9uIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmVkaXQtbW9kZSB7XHJcbiAgICAgICAgJi5vZmYge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub24ge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLy8gQ29tbW9uLlxyXG4gICAgJi5pbmNsdXNpdmUsICYub2ZmIHtcclxuICAgICAgICBAaWYgJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWwge1xyXG4gICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAtIDIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaC1leGMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyLCBpbmNsdXNpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXhjbHVzaXZlLCAmLm9uIHtcclxuICAgICAgICAvLyBTaG93IGFjdGl2ZSBmb250LXdlaWdodCBhbmQgY29sb3VyIGlmIGFjdGl2ZSwgbm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggY2xpY2sgYWN0aXZlIHN0YXRlLlxyXG4gICAgICAgIEBpZiAkdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyArIDUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91ciwgZXhjbHVzaXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoIHtcclxuICAgICAgICB3aWR0aDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4xKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcclxuICAgICAgICBtaW4td2lkdGg6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4zKTtcclxuICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gMi4zKTtcclxuICAgICAgICAvLyBTdXBwcmVzZXR0aW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgdmVydGljYWwgYWxpZ25tZW50IGlzc3VlcyBmb3IgbWFjT1MgdXNlcnMuXHJcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyA0LjIpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gNC4yKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWV4YywgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtZXhjIHtcclxuICAgICAgICByaWdodDogN3B4O1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgIGxlZnQ6IDVweDtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBGb290ZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBGb290ZXIgbWVudSAoIGFsc28gcmVmZXIgdG8gYXhpcy1tZW51cy5zY3NzIClcclxuLSBQcm9tb3Rpb24gYXJlYTpcclxuICAtIFNvY2lhbCBJY29uc1xyXG4gIC0gTWFpbGluZyBMaXN0XHJcbiAgLSBDbXMgZW50cmllc1xyXG4tIEZvb3RlciBCYW5uZXJzICggUGF5bWVudCBtZXRob2QgbG9nb3MgKVxyXG4tIENvcHlyaWdodFxyXG4tIEdvb2dsZSBUYWcgTWFuYWdlciBmb290ZXIgd2lkZ2V0IGFyZWFcclxuLSBGb290ZXIgTW9kdWxlcyAoIGFsc28gcmVmZXIgdG8gbW9kdWxlcy5zY3NzIClcclxuKi9cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuZm9vdGVyIHtcclxuICAgIC8vIEZvb3RlciBjb2xvdXJzIHByZS1wcm9jZXNzaW5nLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIC8vIERlZmF1bHRcclxuICAgICRtZW51LWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBkZWZhdWx0KSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkbWVudS1ob3Zlci1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgaG92ZXIpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkbWVudS1hY3RpdmUtaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGFjdGl2ZSksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQGlmIG5vdCAkZm9vdGVyLWJhY2tncm91bmQgYW5kIG5vdCAkZm9vdGVyLWJhY2tncm91bmQtdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAoJGZvb3Rlci1tYXJnaW4tdG9wIC8gMik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAkZm9vdGVyLWJhY2tncm91bmQgYW5kIG5vdCAkZm9vdGVyLWJhY2tncm91bmQtdG9wIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1tYXJnaW4tdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKCRmb290ZXItc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgJjoje2lmKCRmb290ZXItc2VwZXJhdG9yLXRvcCwgYmVmb3JlLCBhZnRlcil9IHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtY29sb3VyO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1tYXJnaW4tdG9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRPRE86IFRoZSBzb2NpYWxJY29ucyBwcm9wZXJ0aWVzIGNhbiBnbyBvbmNlIHdlIGdvIHdpdGggdXNpbmcgZm9udGF3ZXNvbWUncyBnbHlwaHMsIHlvdSBtYXkgbmVlZCB0byB1bnRhbmdsZSBzb21lIG9mIHRoZXNlIG9wdGlvbnMgdG8gbWFrZSBzdXJlIHRoZXkncmUgYWxsIGJlaW5nIGFwcGxpZWQgaW4gdGhlIC5mb290ZXIgY2xhc3MgaW4gYXhpcy1zb2NpYWwtbWVkaWEtaWNvbnMuc2Nzc1xyXG4gICAgLnNvY2lhbEljb25zLCAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgbm90ICgkc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzKSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRmb290ZXItc29jaWFsLXN1cHByZXNzLWNvbnRhaW5lci1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLWFsaWdubWVudDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLXNvY2lhbC1pY29uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIGZvciBhbnkgdGV4dGRiIGVudHJpZXMgaW4gdGhlIGZvb3Rlci5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgQGlmICRmb290ZXItY21zLWxpbmUtaGVpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGNlbnRlciwgbGVmdCk7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaG93LWNvbnRhY3QtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkc3VwcHJlc3MtZm9vdGVyLW1lbnUtaXRlbS1zZXBlcmF0b3JzKSB7XHJcbiAgICAgICAgdWwubWVudSB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udHJvbHMgaG93IGZhciB0aGUgZm9vdGVyIGNvbnRlbnQgc2hvdWxkIHNwYW4uXHJcbi5mb290ZXItZ3JpZC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1ncmlkLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIG9yICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uKTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBcclxuICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJhbm5lciBzZXJpZXMgZm9yIHRoaW5ncyBsaWtlIGFjY2VwdGVkIHBheW1lbnQgbWV0aG9kcyBvciBpbWFnZShzKSB0aGF0IHNpdCBhYm91dCB0aGUgZm9vdGVyIGNvbnRlbnQuXHJcbi5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgJi5jb250ZW50LWhlYWRlciB7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXltZW50LW1ldGhvZHMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlcikge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c3BhY2luZy12YWx1ZShzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSwgMil9KTtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERPTlQgZG8gdGhpcyBpdHMga2lsbHMgdGhlIGxheW91dCBpbiBtb2JpbGUgZm9yIHN0YW5kYXJkIGZvb3Rlci5cclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7c21hbGwtdmFsdWUoc3BhY2luZy12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwLCAyKSl9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgKyAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRm9vdGVyIGNvcHlyaWdodC5cclxuLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIge1xyXG5cclxuICAgIC8vIENvbnRyYWN0IGNoZWNrZXIuXHJcbiAgICAvLyBEZWNpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyLCBpZiB0aGUgY29weXJpZ2h0IGNvbnRhaW5lciBkb2Vzbid0IHNwZWNpZmljYWxseSBzcGVjaWZ5IGEgYmFja2dyb3VuZCBjb2xvdXIgdGhlbiBkZWZhdWx0IHRvIHRoZSBmb290ZXIgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kO1xyXG4gICAgLy8gVGhlIHNlcGVyYXRvcnMgYmV0d2VlbiB0aGUgdGV4dCBjb2xvdXIuXHJcbiAgICAkc2VwZXJhdG9yLWNvbG91cjogXCJcIjtcclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgJHNlcGVyYXRvci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91ciwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIH1cclxuICAgIC8vIENvcHlyaWdodCBwYXJhZ3JhcGggY29sb3VyLlxyXG4gICAgJHBhcmFncmFwaC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLWNvbG91ciwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGhvdmVyIGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgaG92ZXIpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBhY3RpdmUgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91ciwgYWN0aXZlKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcblxyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZCAhPSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDtcclxuICAgIH1cclxuICAgIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC8vIEFkZCBzbWFsbCBzcGFjZSBhYm92ZSBqdXN0IGluY2FzZSBwYXltZW50IG1ldGhvZCdzIGlzIHN1cHByZXNzZWQuXHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduKTtcclxuICAgICAgICBAaWYgJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItcGFkZGluZztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxhcmdlLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtbWFyZ2luO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LWFuY2hvci13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYWwgZm9vdGVyIG1lbnUgbmF2aWdpYXRpb24uXHJcbi5mb290ZXItbmF2aWdhdGlvbiB7XHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyIGZvciBwYXJlbnQgY29sb3Vycy5cclxuICAgIC8vIERlZmF1bHRcclxuICAgICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRwYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRwYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIExldmVsIDFcclxuICAgID4gdWwubWVudSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IHN0eWxlIHRvIGZvcmNlIHByb21vdGlvbiBjb250YWluZXIgdG8gZml0IG9uIHJvdy5cclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCkpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjaGV2cm9uIGlzIHByZXNlbnQgbWFrZSBzdXJlIGl0IGhhcyBhbiBhcHByb3ByaWF0ZSBjb2xvdXIgYXNzaWduZWQuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQmVjYXVzZSB5b3Ugd2FudCB0byB0aGUgY29udGVudCBmbHVzaCBhZ2FpbnN0IHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgcCwgJjpmaXJzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHAsICY6bGFzdC1jaGlsZCBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IGhvdmVyIHN0YXRlLlxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KFtocmVmXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWxpc3QtaXRlbS13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSwgPiBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXBhcmVudC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb290ZXItbGlzdC1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZbaHJlZl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgYmFja2dyb3VuZC1jb2xvclxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1saXN0LW1hcmdpbi10b3A7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHVzaCBmaXJzdCBpdGVtIGF3YXkgZnJvbSBwYXJlbnQgdXNpbmcgdGhlIGJvdHRvbSB2YWx1ZSBzbyB0aGUgc3BhY2luZyBpcyBlcXVhbCB0b3AgJiBib3R0b20uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jaGlsZC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY2hpbGQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSU1QT1JUQU5UOiBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IGlzIGdldHRpbmcgaW4gdGhlIHdheSBvZiBzaG93aW5nIGNvbnRhY3QgaWNvbnMgZm9yIG1haWx0bzogJiB0ZWw6LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIHdlJ3JlIG5vdyB1c2luZyBheGlzLW1lbnUncyB0eXBpY2FsbHkgY2hpbGQgaXRlbXMgaGF2ZSBhIGFycm93IHNob3dpbmcgbmV4dCB0byB0aGVtIHRoaXMgaXMgYmVpbmcgZm9yY2FibHkgc3VwcHJlc3NlZCBmb3IgZm9vdGVyIG1lbnUncywgbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZSBpbiB0aGUgZnV0dXJlIGlmIG5lZWRzIGJlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNoaWxkLWhvdmVyLXRleHQtZGVjb3JhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgbm8gb3RoZXIgb3BhY2l0eSBnZXRzIGFwcGxpZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ3VycmVudGx5IHdlJ3JlIG9ubHkgc2hvd2luZyBvbmUgdHlwZSBvZiBtZW51IGluIHRoZSBmb290ZXIgYnV0IEkgYW0gbGVhdmluZyB0aGlzIG9wZW4gc28gd2UgY2FuIGFkZCBkaWZmZXJlbnQgdHlwZXMgKCBpLmUgYSBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgbWVudSApXHJcbiAgICAmLm1haW4tbWVudSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogJGZvb3Rlci1tYWluLW1lbnUtZmxleC1ncm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIG9yZGVyOiAkZm9vdGVyLWxpc3Qtb3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBtZW51IGFjY29yZGlvbiBzdHlsZXMgaW4gbW9iaWxlLlxyXG4gICAgLm1lbnUgLmlzLXN1Ym1lbnUtaXRlbSBhIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgb3JkZXI6IDM7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1tYXJnaW47XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLW1hcmdpbjtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbiA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IGhvbGRzIG1haWxpbmcgbGlzdCwgc29jaWFsIGljb25zICYgY21zIGVudHJ5LlxyXG4uZm9vdGVyLXByb21vdGlvbnMge1xyXG4gICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKSkge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKSkge1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCk7XHJcbiAgICB9XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBvcmRlcjogJGZvb3Rlci1wcm9tb3Rpb24tYXJlYS1vcmRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXByb21vdGlvbnMtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbik7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9yY2UgY29udGVudCB0byBiZSBhbGlnbmVkIHRoZSByaWdodCwgb25seSBhbGxvdyBjZW50ZXJpbmcgd2hlbiBubyBwcm9tb3Rpb25zLlxyXG4gICAgJiArIC5mb290ZXItbmF2aWdhdGlvbiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgbWFpbGluZyBsaXN0LlxyXG4gICAgLm1haWxpbmctbGlzdC1jb250YWluZXIsIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbWFpbGluZy1saXN0KTtcclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGFueSBzb2NpYWwgaWNvbnMgd2l0aGluIHRoZSBwcm9tb3Rpb24gYXJlYS5cclxuICAgIC5zb2NpYWxJY29ucywgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBzb2NpYWwtaWNvbnMpO1xyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgdGV4dGRiIGNvbnRlbnQgaW5zaWRlIG9mIHByb21vdGlvbiBjb250YWluZXIuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCB0ZXh0ZGIpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgdGV4dGRiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBmb3IgZm9vdGVyIGxvZ29cclxuICAgIC5mb290ZXItbG9nby1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGxvZ28tY29udGFpbmVyKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGxvZ28tY29udGFpbmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBmb3IgY29udGFjdCBkZXRhaWxzICggdGVsZXBob25lIC8gZW1haWwgKVxyXG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGNvbnRhY3QtZGV0YWlscykpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBjb250YWN0LWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgdXNlZCBpbiB0aGUgcHJvbW90aW9uIGNvbnRhaW5lciB0byBjYXRhZ29yaXNlIHRoZSBzb2NpYWwgbWVkaWEgaWNvbnMsIG1haWxpbmcgbGlzdCAmIGNtcyBlbnRyeS5cclxuLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyB7XHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgLy8gQ01TIGhlYWRpbmcuXHJcbiAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCkpIHtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpO1xyXG4gICAgfVxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28tbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1tYXJnaW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLy8gTGV2ZXJhZ2luZyB0aGUgc2FtZSBzdHlsZXMgZm9yIGNvbnRhY3QgZW1haWwgJiB0ZWxlcGhvbmUgaW4gdGhlIGhlYWRlciAoIGkuZSB0aGUgaWNvbnMgKS5cclxuICAgIHVsLm1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJGZvb3Rlci1yZXZlYWwtYnV0dG9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb290ZXItcmV2ZWFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1wYWRkaW5nLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1ib3JkZXItY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtc2l6ZSwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXdlaWdodCwgKHdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoKSwgbW9iaWxlLXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXdpZHRoKSksIDAsIGZsZXgsICRmb290ZXItbWFpbGluZy1saXN0LWljb24tY29uZmlnKTtcclxufVxyXG5cclxuLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgIC8vIFRleHRkYiBoZWFkaW5nLlxyXG4gICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gVGV4dGRiIG11bHRpLWxpbmUgY29sb3VyLlxyXG4gICAgJHRleHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItbWFpbGluZy1saXN0LXRleHQtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUZXh0ZGIgZW50cnkuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHRleHQtY29sb3VyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItbWFpbGluZy1saXN0LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIEF0dGVtcHRpbmcgdG8ga2VlcCBzcGFjaW5nIGNvbnNpc3RlbnQgd2l0aCBmb290ZXIgbWVudS5cclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE1haWxpbmcgbGlzdCBpbnB1dC5cclxuICAgIHNwYW4ubWFpbC1pbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG4gICAgLy8gTWFpbGluZyBsaXN0IGZvcm0uXHJcbiAgICBmb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmcge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyLWluY2x1ZGUtYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIGJ1dHRvbjpiZWZvcmUsICYgKyBidXR0b246ZW1wdHk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogdGhpcyB3aWxsIG5lZWQgZXh0ZW5kaW5nIGlmIHdlIHdhbnQgdG8gZnVuZGltZW50YWxseSBjaGFuZ2UgdGhlIGJvcmRlciBhcm91bmQgdGhlIGZpZWxkLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyLWluY2x1ZGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvcikge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSBzb2xpZCAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kKSB7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQtdG9wKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpICsgKCRmb290ZXItbWFyZ2luLXRvcCAvIDIpKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpICsgJGZvb3Rlci1tYXJnaW4tdG9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtI3tpZigkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUsIChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSArICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSksIG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpKX07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtdXJsLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLSN7aWYoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplLCAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkgKyAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUpLCBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSl9O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC11cmwsIGxhcmdlKSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBUQkMuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICBAaWYgbm90ICgkZm9vdGVyLWJhY2tncm91bmQgYW5kICRmb290ZXItYmFja2dyb3VuZC10b3ApIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLWJhY2tncm91bmQtbWFyZ2luLXRvcDtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICBAaWYgJGZvb3Rlci1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGZvb3Rlci1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20gb3IgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAje2lmKCRmb290ZXItbGlzdC1yZXZlcnNlLW9yZGVyLCBcInJvdy1yZXZlcnNlXCIsIFwicm93XCIpfTtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEFKQVggLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBBSkFYIFNwaW5uZXJcclxuLSBDYWxsYmFjayBjb250YWluZXJzXHJcbi0gVXBkYXRlIENvbnRlbnQgLSBCYXNpY2FsbHkgYSBjb250YWluZXIgaW5zaWRlIG9mIHRoZSBhamF4IHJlc3BvbnNlIHRoYXQgYWxsb3dzIHlvdSB0byB1cGRhdGUgY29udGVudCBvdXRzaWRlIG9mIHRoZSBjYWxsYmFjayBjb250YWluZXIuXHJcbiovXHJcblxyXG5cclxuLy8tLS0tLSBBSkFYIGJsb2NrIC0tLS0tXHJcbi5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIEFkZCBmbGV4LWdyb3cgZm9yIGFqYXgnZCBpbiBmb3JtIGluIGEgbW9kYWwuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyBJTVBPUlRBTlQ6IERvbnQgYWRkIHotaW5kZXggcHJvcGVydHkgYXMgdGhpcyBjbGFzcyBnZXRzIHVzZWQgYWxsIG92ZXIgdGhlIHNob3AgYW5kIHdpbGwgY2F1c2Ugb3ZlcmxhcHBpbmcgaXNzdWVzIHdpdGggb3RoZXIgY29udGVudCAoIGkuZSBwcm9kdWN0IGxpc3RzIHF1YW50aXR5IGRyb3AgZG93bnMgKS5cclxuICAgIC8vIEFkZGluZyB6LWluZGV4IGFqYXggbW9kYWxzIHRvIG1ha2Ugc3VyZSB0aGV5IG92ZXJsYXAgYWxsIHBhZ2UgY29udGVudC5cclxuICAgIC8vIHotaW5kZXg6IDE5OTk7XHJcbiAgICAmOmhhcyguQUpBWEJsb2NrKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNhbGxiYWNrTGlzdENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLy8tLS0gU3Bpbm5lciAtLS1cclxuXHJcbi5BSkFYQmxvY2ssIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR1aS1ibG9jay1iYWNrZ3JvdW5kO1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbiAgICAuc3Bpbm5lciB7XHJcbiAgICAgICAgd2lkdGg6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyB0b3A6IDA7XHJcbiAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGVudC1sb2FkaW5nLXNwaW5uZXIoJGFqYXgtc3Bpbm5lci1jb2xvdXIpO1xyXG4gICAgICAgICYgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIFVwZGF0ZSBjb250ZW50IC0tLS0tIFxyXG5bZGF0YS11cGRhdGUtY29udGVudF0sIFtkYXRhLWFqYXgtdXBkYXRlLWJyZWFkY3J1bWJzXSB7XHJcbiAgICAvLyBUaGlzIHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIGRpc3BsYXkgbm9uZSB0byBwcmV2ZW50IHRoZSBuZXcgY29udGVudCBmbGFzaGluZyBpbmZyb250IHRoZSBvZiB0aGUgdXNlciBiZWZvcmUgaXQgaXMgbW92ZWQgaW50byBwbGFjZS5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKlxyXG4tLS0tLSBGaWx0ZXJzIC0tLS0tLSBcclxuLSBUaGVzZSBhIHR5cGljYWxseSBvbiBsaXN0IHBhZ2VzIGZvciBwcm9kdWN0cy5cclxuLSBBdHRyaWJ1dGUgZmlsdGVycyB0aGF0IGFsc28gaW5jbHVkZSBjb2xvdXIgZmlsdGVycyBhbmQgcHJpY2Ugc2xpZGVyLlxyXG4tIFlvdSB3aWxsIGFsc28gZmluZCB0aGUgbW9iaWxlIHN0eWxlcyBoZXJlIGZvciBmaWx0ZXJzLlxyXG4qL1xyXG5cclxuXHJcbi8vIFRPRE86IFRoaXMgbmVlZHMgdG8gYmUgcmVmYWN0b3JlZCBpbnRvIHRoZSB2YXJpYWJsZXMuc2Nzcy5cclxuJGZpbHRlckRlc2t0b3BXaWR0aDogMTg1cHg7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkTGlua1dlaWdodDogNDAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdQYWRkaW5nOiAxMHB4IDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0NvbG91cjogJGNvbG91cjQ7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0JhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdXZWlnaHQ6IDYwMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRBbmNob3JDb2xvdXI6ICRjb2xvdXIyO1xyXG4kYXR0cmlidXRlQXBwbGllZEFuY2hvckNvbG91ckhvdmVyOiAkY29sb3VyNDtcclxuJG9wdGlvbkhlYWRpbmdDb2xvdXI6ICRjb2xvdXI0O1xyXG4vLyAkYXR0cmlidXRlQ29sb3VyUHJldmlld1Bvc2l0aW9uVG9wOiAwO1xyXG4vLyAkYXR0cmlidXRlQ29sb3VyUHJldmlld1Bvc2l0aW9uUmlnaHQ6IDEwcHg7XHJcbiRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3Qm9yZGVyUmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zOiAxMHB4O1xyXG4kYXR0cmlidXRlRmlsdGVyV2lkdGg6IDgwcHg7XHJcbiRhdHRyaWJ1dGVPcHRpb25QYWRkaW5nOiAxMHB4IDA7XHJcblxyXG5cclxuI21vYmlsZVRvZ2dsZUNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Ly8gbWFyZ2luOiAwIDAgMTVweDtcclxuXHR1bCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHR9XHJcbn0gIFxyXG5cclxuLy8gSU1QT1JUQU5UOiBUaGlzIHdhcyBidWlsZCBzcGVjaWZpY2FsbHkgaW4gdGhlIGNvbnRleHQgb2YgcHJvZHVjdC1saXN0J3Mgd2hpY2ggb25seSBnb3Qgc2hvd24gaW4gbW9iaWxlIGFuZCB3YXMgbGF0ZXIgXCJhZGFwdGVkXCIgdG8gZml0IGludG8gdGhlIGRlc2t0b3AgdmlldyBpbiB0aGUgc29ydGluZyBvcHRpb25zIGJhci5cclxuI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBhZGRpbmc6IDIwcHggMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHRmb250LXdlaWdodDogJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXdlaWdodDtcclxuXHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC1zaXplKTtcclxuXHRmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuXHRAaWYgKCRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZykge1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6ICRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZztcclxuXHR9XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHdpZHRoOiBmaXQtY29udGVudDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0Y29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Jjpub3QoLmlzLXN0dWNrKSB7XHJcblx0XHQvLyBPdmVycmlkZSB0aGUgc3RpY2t5IHBvc2l0aW9uaW5nIHdoZW4gbm90IHN0dWNrICM4MTExMzcuXHJcblx0XHR0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuXHR9XHJcblx0Ji5pcy1zdHVjayB7XHJcblx0XHQvLyBPdmVycmlkZSB0aGUgc3RpY2t5IHBvc2l0aW9uaW5nIHdoZW4gbm90IHN0dWNrICM4MTExMzcuXHJcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCBzdHVjayk7XHJcblx0XHRib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuXHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgNHM7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWx0ZXIpO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uKTtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdGNvbG9yOm1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHVuLXN0dWNrKTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNXB4OyAvLyBkZXNjcmVhc2luZyBzaXplIGFzIHRoaXMgd2FzIGtub2NraW5nIG90aGVyIHNvcnRpbmcgb3B0aW9uJ3MgdGV4dCBvdXQgb2YgYWxpZ25tZW50LlxyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmhvdmVyIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cdC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcclxuXHRcdG1hcmdpbi1yaWdodDogM3B4O1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHQkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTogMTVweDtcclxuXHRcdFx0d2lkdGg6ICRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplO1xyXG5cdFx0XHRoZWlnaHQ6ICRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0bGVmdDogMTJweDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAoJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemUgLSAuOCk7IC8vIFN1YnRyYWNrIHRoZSBib3JkZXIuXHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdGJvcmRlcjogLjhweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdH1cclxufVxyXG5cclxuLmZpbHRlcnMtaGVhZGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaGVhZGluZy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvcjtcclxuXHRAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdH1cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsIHJnYmEoJGNvbG91cjQsIDAuOCkpO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG4uZmlsdGVycy1mb290ZXIge1xyXG5cdC8vIE9ubHkgc2hvdyBmb3IgbW9iaWxlIGR1ZSB0byBwb3B1cC5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHQuYnV0dG9uLWNvbnRhaW5lciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuI2ZpbHRlckJhY2tUb0xpc3Qge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiBhdXRvO1xyXG5cdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNCk7XHJcblx0XHRjb2xvcjogJGNvbG91cjI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTsgXHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuXHR9XHJcbn1cclxuLmF0dHJpYnV0ZUxpc3QubWVudSB7XHJcbiAgICAvL0lmIHRoZSBvdmVyZmxvdyBzY3JvbGwgZnVuY3Rpb24gaGFzIGJlZW4gYWN0aXZlIGFuZCB0aGUgcGFyZW50IGxpIGlzIG5vdCBhY3RpdmUgZm9yY2UgdGhlIGF0dHJpYnV0ZSB0byBjbG9zZS5cclxuICAgID4gdWwgPiBsaTpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgIC5hdHRyaWJ1dGVzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHR9XHJcblx0PiBsaSB7XHJcblx0XHRtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luO1xyXG5cdFx0cGFkZGluZzogMCAwIDE1cHg7IFxyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW46IDAgMCAkZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW47XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDE1cHg7XHJcblx0XHR9XHJcblx0XHRsaSB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG4gICAgdWwge1xyXG5cdFx0Ly8gcGFkZGluZzogMTVweCAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHRcdH1cclxuXHRcdGxpIHsgXHJcblx0XHRcdHBhZGRpbmc6IDVweCAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgICAgIGxpLmFjdGl2ZSB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXIyO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHR9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAvLyBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyTmFtZSwgLmZpbHRlckl0ZW1Db3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5jb2xvdXJQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAoJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zICogMS4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGF0dHJpYnV0ZUNvbG91clByZXZpZXdEaW1lbnRpb25zICogMS4yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmZpbHRlck5hbWUge1xyXG5cdFx0XHRvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG5cdFx0fVxyXG5cdFx0LmNvbG91ci1wcmV2aWV3LWNvbnRhaW5lciB7XHJcblx0XHRcdGZsZXgtZ3JvdzogMTtcclxuXHRcdFx0b3JkZXI6IDM7XHJcblx0XHR9XHJcblx0XHQuY29sb3VyUHJldmlldyB7XHJcblx0XHRcdHdpZHRoOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy13aWR0aDtcclxuXHRcdFx0aGVpZ2h0OiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1oZWlnaHQ7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMTBweCAwIGF1dG87XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlci1yYWRpdXM7XHJcblx0XHRcdGJvcmRlcjogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0XHQuZmlsdGVySXRlbUNvdW50IHtcclxuXHRcdFx0Ly8gbWF4LXdpZHRoOiAyNXB4O1xyXG5cdFx0XHQvLyB3aWR0aDogMTAwJTtcclxuXHRcdFx0b3JkZXI6IDI7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgNXB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHR9XHJcblx0XHQuY29udHJvbCAuY2hlY2tib3gge1xyXG5cdFx0XHQvLyBBZGQgbWFyZ2luIHJpZ2h0IHRvIGxpbmUgdXAgd2l0aCBtZW51IGNoZXZyb25zLlxyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRvcmRlcjogNDtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcblx0LmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW0ge1xyXG5cdFx0JlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuXHRcdFx0PiBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pcy1hY2NvcmRpb24tc3VibWVudSB7XHJcblx0XHQvLyBoZWlnaHQ6IDEwMCU7XHJcblx0XHQvLyB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdCZbYXJpYS1oaWRkZW49dHJ1ZV0ge1xyXG5cdFx0XHRoZWlnaHQ6IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0Ji5zY3JvbGxlciB7XHJcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcblx0XHRcdC8vIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdC8vSWYgdGhlIHNjcm9sbCBjbGFzcyBpcyBhcHBsaWVkIHRoZW4gZm9yY2UgdGhlIHN1YiBtZW51IHRvIGRpc3BsYXkuXHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5vcHRpb25IZWFkaW5nIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6ICRmaWx0ZXJzLW9wdGlvbi1wYWRkaW5nO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdH1cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zdWJtZW51IHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdC5zaG93TW9yZUF0dHJpYnV0ZXMsIC5zaG93TGVzc0F0dHJpYnV0ZXMge1xyXG5cdFx0JiA+IGEge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRnYXA6IDAgMTBweDtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtd2VpZ2h0O1xyXG5cdFx0XHRmb250LXN0eWxlOiAkZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXN0eWxlO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIHtcclxuXHRhIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtZm9udC1zaXplKTtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWhvdmVyLWNvbG91cjtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5zaG93TGVzc0F0dHJpYnV0ZXMge1xyXG5cdGEge1xyXG5cdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuXHRcdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG5cdFx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxufVxyXG5cdFxyXG4jZmlsdGVycy1jb250YWluZXIge1xyXG5cdC8vIGhlaWdodDogMTAwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0fVxyXG5cdCYuYWN0aXZlIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHRvdmVyZmxvdy15OiBzY3JvbGw7XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuYWN0aXZlLXVwZGF0aW5nIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHQjZmlsdGVycy1jb250YWluZXIge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuMztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmFjdGl2ZSwgJi5hY3RpdmUtdXBkYXRpbmcge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdFx0bWluLWhlaWdodDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFxyXG5cdFx0XHR6LWluZGV4OiAxMDAwMDtcclxuXHRcdFx0LmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdzogc2Nyb2xsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHJcblx0aDIge1xyXG5cdFx0Ly9tYXJnaW46IDVweCAwIDMwcHg7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDVweDtcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtaGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCA1cHg7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdHVsIGxpe1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHQvLyBPdmVycmlkaW5nIGRlZmF1bHQgc3R5bGluZyBmb3IgbWVudXMuXHJcblx0XHQmOmFjdGl2ZSwgJjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUgYSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyMy02O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdGxpIHtcclxuXHRcdFx0Ly8gT3ZlcnJpZGUgZGVmYXVsdCByZXNwb25zaXZlIG1lbnUgc3R5bGluZy5cclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4vLyBBcHBsaWVkIGZpbHRlcnNcclxuI2FwcGxpZWRGaWx0ZXJzIHtcclxuXHQvLyBtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1tb2JpbGUtbWFyZ2luO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdC8vIG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzVweDtcclxuXHR9XHJcblx0aDMge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nUGFkZGluZztcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLWNvbG91cjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ0JhY2tncm91bmQ7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtc3R5bGU6ICRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXN0eWxlO1xyXG5cdH1cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHR9XHJcblx0bGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiA1cHggMCAwO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWhvdmVyLWNvbG91cjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiA1cHggMCA1cHggMDtcclxuXHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodCAtIDIwMCk7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJ3gnO1xyXG5cdFx0XHR3aWR0aDogMTBweDtcclxuXHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0cmlnaHQ6IDVweDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMC42O1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1pY29uLWNvbG91cjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodCArIDEwMCk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDIpO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgNCk7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5jbGVhci1hbGwtYXR0cmlidXRlcyB7XHJcblx0XHRcdG1hcmdpbjogMzBweCAwIDIwcHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodDtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hbGwtY29sb3VyO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gR290IHRvIGNvbnN0cnVjdCB0aGUgc2VsZWN0b3IgaW4gdGhpcyBtYW5vciBkdWUgdG8gZm91bmRhdGlvbidzIHN0eWxlcy5cclxuaW5wdXQucHJpY2Utc2xpZGVyLWlucHV0IHtcclxuXHRAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG5cdH1cclxufVxyXG5cclxuLnByaWNlLXNsaWRlci1pbnB1dCB7XHJcblx0bWF4LXdpZHRoOiAkZmlsdGVycy1wcy1pbnB1dC13aWR0aDtcclxuXHRtYXgtaGVpZ2h0OiAkZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ7XHJcblx0Ly8gT3ZlcnJpZGUgZGVmYXVsdCBwYWRkaW5nLlxyXG5cdHBhZGRpbmc6IDAhaW1wb3J0YW50O1xyXG5cdC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBtYXJnaW4gZm9yIGN1cnJlbmN5IG91dHB1dC5cclxuXHRib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAhaW1wb3J0YW50O1xyXG5cdC8vIERJU0FCTElORyBGUkVFIFRFWFQgSU5QVVQgV0lMTCBJTVBMRU1FTlQgSU4gUEhBU0UgMi5cclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHQmLnVpLXN0YXRlLWFjdGl2ZSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0Ji51aS1zdGF0ZS1hY3RpdmUgKyAuY3VycmVuY3kge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyO1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdC8vIFN0eWxlIHRoZSBjdXJyZW5jeSBzeW1ib2wuXHJcblx0JiArIC5jdXJyZW5jeSB7XHJcblx0XHRoZWlnaHQ6ICRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMCAwIDAgMTBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XHJcblx0XHRib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcblx0XHRAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6Zm9jdXMgKyAuY3VycmVuY3kge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdGJveC1zaGFkb3c6IC0xNXB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdCY6cmVhZC1vbmx5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdH1cclxufVxyXG5cclxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0JjpudGgtb2YtdHlwZSgyKSB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG59XHJcblxyXG4jcHJpY2Utc2xpZGVyIHtcclxuXHRtYXgtd2lkdGg6IDk2JTtcclxuXHRtYXJnaW4tdG9wOiAyNXB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdG1heC13aWR0aDogOTMlO1xyXG5cdH1cclxufVxyXG4jcHJpY2VBdHRIaWdoIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcbn0iLCIvKlxyXG4tLS0tLSBNb2RhbHMgLS0tLS0tIFxyXG4tIFRoaXMgaXMgdGhlIG1lY2hhbmlzbSB0aGF0IGdldHMgdXNlZCBmb3IgcG9wdXAgY29udGVudCBpbiBleHByZXNzLlxyXG4tIENhbiBiZSB1c2VkIHRvIHBvcCBmb3JtLCBjbXMgY29udGVudCwgbm90aWZpY2F0aW9uICYgcGF5bWVudCBmcmFtZXMuXHJcbiovXHJcblxyXG5cclxuQG1peGluIHBheW1lbnQtZnJhbWUtY29udGVudC1jb250YWluZXIoKSB7XHJcbiAgICBtYXgtd2lkdGg6ICRwYXltZW50LWZyYW1lLXBvcHVwLW1heC13aWR0aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubW9kYWwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgYWN0dWFsIGNvbnRlbnQuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgLy8gRm9yY2UgY29udGVudCB0byB0YWtlIHVwIGF2YWxpYmxlIHNwYWNlIG90aGVyd2lzZSBjb250ZW50IGNvbnRhaW5lciBjaGFuZ2VzIHNpemUgd2hlbiBmb3JtIHZhbGlkYXRpb24gaXMgdHJpZ2dlcnMuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy9mbGV4LXNocmluazogMTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDMwcHg7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAvLyBBZGQgYSBiaXQgb2YgYnJlYXRoaW5nIHJvb20gaW4gbW9iaWxlLlxyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAvLyBNYWtlIHN1cmUgbW9kYWwgaXMgYWJvdmUgYWxsIGNvbnRlbnQuXHJcbiAgICAgICAgei1pbmRleDogJG1vZGFsLWNvbnRlbnQtei1pbmRleDtcclxuICAgICAgICAucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWpheCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcHBlZC1zZXNzaW9uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoKSArIDEwMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNtcy1lbnRyeS12aWV3ZXIge1xyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaXRlLWxpc3Qge1xyXG4gICAgICAgICYucHVibGlzaC1oaXN0b3J5IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtaW5mb3JtYXRpb24ge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRvY3VtZW50YXRpb24ge1xyXG4gICAgICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICRjb2xvdXIzO1xyXG4gICAgICAgICYuZW50cnktZWRpdG9yIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTglO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1vZGFsLWhlYWRlcjpoYXMoLmNtcy1jb250ZW50LWNvbnRhaW5lcikgfiAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBLZWVwIGNvbnRlbnQgaW5saW5lIGNtcyBjb250ZW50LlxyXG4gICAgICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7c3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpICogMn0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyLCBsYXJnZSkgKiAyfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNrLWVkaXRvcl9fbWFpbiA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWVkaXRvci1oZWlnaHQpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYXJ0aWNsZSwgJi5pbnNlcnQsICYucHJvcGVydHktZWRpdG9yIHtcclxuICAgICAgICAgICAgLmNrLWVkaXRvciB7XHJcbiAgICAgICAgICAgICAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1lZGlhLWJyb3dzZXIge1xyXG4gICAgICAgIC5tZWRpYS1icm93c2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc29mdHdhcmUtZG93bmxvYWQge1xyXG4gICAgICAgIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgLnJldmlzaW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHZoO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgaW5saW5lIHN0eWxpbmcgdG8gcHJldmVudCBob3Jpem9udGFsIHNjcm9sbCBiYXIgYXMgdGhpcyBzcGFjaW5nIGlzIGhhbmRsZSBieSBwYWRkaW5nIGluIGV4cHJlc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDYwcHggMWZyIDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIsIC5idXR0b24tbGFiZWwsIC5idXR0b24tY29udGVudC1jb250YWluZXIsIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2Z0d2FyZS11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvZnR3YXJlLXJlbGVhc2UtZGF0ZS10aW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheW1lbnQsICYuYWRkLW5ldy1jYXJkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwYXltZW50LWZyYW1lLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHsgXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6ICRwYXltZW50LWZyYW1lLW1heC13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVucXVpcnktZm9ybSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIgIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFuIGF0dGVtcHQgdG8gbWFrZSB0aGlzIHNsaWdodGx5IG1vcmUgcmVwc29uc2l2ZS5cclxuICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYm9yZGVyIHRvIG91dGxpbmUgdGhlIHNjcm9sbGFibGUgYXJlYS5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQWRkaW5nIGZhaW50IGluc2V0IGJveC1zaGFkb3cgdG8gYXR0ZW1wdCB0byBzaG93IGVkaXRhYmxlIGFyZWEgZHVlIHRvIGFjY2Vzc2libGl0eSBjb25jZXJucy5cclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA4MHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5icmFuY2gtc3dpdGNoZXIsIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLmFjY291bnQtc3dpdGNoZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTMtbWFyZ2luLCAzLCBcInByZXNldC0yXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAuY3VycmVudC1hY2NvdW50LWRldGFpbHMge1xyXG4gICAgICAgICAgICAuYWRkcmVzcy1saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGh9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAmLmZvcm0ge1xyXG4gICAgICAgIC8vIEdlbmVyYWxpc2luZyB0aGVzZSBzdHlsZXMgdG8gYmUgdXNlZCBmb3IgYWxsIGZvcm0gbW9kYWxzIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICAvLyAmLnNvaC1ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgJi50YWJsZSB7XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDpmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCR1c2Vycy1wb3B1cC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzZXJzLXBvcHVwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c2Vycy1wb3B1cC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE1MDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWdldCgkdXNlcnMtcG9wdXAtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdXNlcnMtYnJhbmNoLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1zZWFyY2gtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0LWJyYW5jaGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFibGUtZm9vdGVyLXNwYWNlciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnJhbmNoLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHVzZXJzLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZvcmNlIGNlbnRlciBhbGlnbm1lbnQgZHVlIHRvIG1peGVkIGNvbnRlbnQgc28gYmFzZWxpbmUgaXMgbm90IGFuIG9wdGlvbiBoZXJlLlxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNDY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICYuc2Nhbm5lciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vbWF4LWhlaWdodDogNDY1cHg7XHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5jYWxsLWZvcm0ge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTUlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmlkZW8tcGxheWVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NXZ3O1xyXG4gICAgICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcbiAgICAgICAgICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQ6IDIwcHg7XHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC5tb2RhbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgLy8gV29yayBvdXQgc3BhY2UgcmVxdWlyZWQgZm9yIGNsb3NlLWJ1dHRvbiB0byBtYWtlIHN1cmUgdGV4dCBkb2Vzbid0IGdvIHVuZGVyLlxyXG4gICAgICAgICAgICAkY2xvc2UtYnV0dG9uLXNpemU6ICgkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0ICsgJGljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4ICN7JGNsb3NlLWJ1dHRvbi1zaXplfTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggI3skY2xvc2UtYnV0dG9uLXNpemV9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2RhbC1oZWFkZXItY21zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZC1uby1jb250ZW50LCAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYWN0LWNoZWNrZXIoJGNvbG91cjYsICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRkZWZhdWx0LWNvbG91ciwgJGhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgdG9wOiAjeygkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplIC8gMil9cHg7IC8vIFRyeWluZyB0byBiZSBjbGV2ZXIgdGhlIGZvbnQtc2l6ZSBjaGFuZ2VzIGZyb20gc2l0ZSB0byBzaXRlLlxyXG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb25maXJtYXRpb24gbW9kYWxzICggU3VjY2VzcywgV2FybmluZyAmIEFsZXJ0IClcclxuICAgICYuY29uZmlybWF0aW9uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogKCRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmcgLyAzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBCZWNhdXNlIHdlJ3JlIG9ubHkgc2hvd2luZyBhIG1lc3NhZ2UgYW5kIHRoYXRzIHRoZSBlbnRpcmUgcHVycG9zZSBvZiB0aGlzZSBtb2RhbCB0ZWxsIGl0IHRvIHRha2UgdXAgdGhlIGVudGlyZSB3aWR0aC5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIHAgeyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9ICAgXHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAgMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBsaWtlIGEgaGFsZiB3YXkgYmV0d2VlbiBzdWNjZXNzIGFuZCB3YXJuaW5nLlxyXG4gICAgJi5hY3Rpb24tcmVxdWlyZWQge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3VjY2Vzcy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIERlbW8gcG9wdXAuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTE1cHggMTM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7IC8vIENoYW5naW5nIHRvIHByaW1hcnkgYmFzZSBhcyBiYXJlbHkgYW55IGVsZW1lbnRzIHdhcyB1c2luZyA0LTcsIHRyeWluZyB0byBzaW1wbGlmeSB0aGUgdXNlIG9mIGV4cHJlc3MncyBjb2xvdXIgcGFsbGV0ZS5cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODg1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZGFsLWxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTM1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTM1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS1zbG90LTEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXNsb3QtMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFuKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTM1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1vZGFsIEluZm9ybWFpdG9uIC0tLS0tIFxyXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggZm9ybXMuXHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLy8gVHJ5IGFuZCBrZWVwIGNvbnNpc3RlbnQgd2l0aCBmaWVsZHNldHMuXHJcbiAgICAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XHJcbiAgICAgICAgLy8gRHVlIHRvIHRoZXNlIGNvbnRhaW5lcnMgaGF2ZSBzdHJpbmdzIHRoYXQgYXJlIG5vdCBsb25nIGZvcmNpbmcgd2lkdGggdG8gYmUgODB2dy5cclxuICAgICAgICBtaW4td2lkdGg6IDgwdnc7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgICAgIC8vIFJlLWFkanVzdGluZyB0aGUgcGFkZGluZyB0byBhY2NvdW50IGZvciBhIHJ1bGUuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggZm9ybSBmaWVsZHMuXHJcbiAgICAuaW5mb3JtYXRpb24tb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEluamVjdGVkIGNvbnRlbnQgLS0tLS1cclxuLy8vIFRoZSBjb250YWluZXIgb2YgdGhlIGNvbnRlbnQuIFxyXG4uaW5qZWN0LWNvbnRlbnQge1xyXG4gICAgLy8gVGhpcyBpcyBmb3IgY29udGVudCB0aGF0IGlzIGluIGEgZm9ybSB0aGF0IGdldHMgaW5qZWN0ZWQgaW50byBhIG1vZGFsIHRoZW4gYmFjayBpbnRvIHRoZSBmb3JtIGZvciBzZXJpYWxpc2F0aW9uLlxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4vLyBUaGUgY29udGFpbmVyIGluIHRoZSBtb2RhbC5cclxuW2luamVjdC1jb250YWluZXJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIC8vIE1pbiBoZWlnaHQgdG8gc2hvdyBhamF4IHNwaW5uZXIgaWYgdGhlcmUgaXMgbm8gY29udGVudC5cclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgLy8gQWRkIGZsZXhib3ggbGF5b3V0IGZvciBmb3Jtcy5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpoYXMoZGl2LkFKQVhCbG9jaykge1xyXG4gICAgICAgIG1pbi13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDY0MHB4XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gdGhlIHJpZ2h0IHRvIGFjY291bnQgZm9yIGEgc2Nyb2xsIGJhci5cclxuICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSW5qZWN0IG1vZGFsIGJ1dHRvbi5cclxuLmluamVjdC1idXR0b24ge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBkZWZhdWx0KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gRG9uJ3QgYXBwbHkgdW5kZXJsaW5lIGFzIHRoaXMgZG9lc24ndCB3b3JrIHdlbGwgd2l0aCBpY29ucy5cclxuICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJi5mb3JtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIDUwcHggbWFyZ2luLXJpZ2h0IHRvIGFsbG93IGZvciByZWFkLW9ubHkgaWNvbi5cclxuICAgICAgICAgICAgbWFyZ2luOiAwIDUwcHggMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvY2VlZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIE1vZHVsZXMgLS0tLS1cclxuVGhlc2UgY2FuIGJlIHVzZWQgYW55d2hlcmUgb24gdGhlIHNpdGUgaGVhZGVyLCBtYWluIGNvbnRlbnQgJiBmb290ZXIsIHRoZXNlIGhhdmUgYSBoYXJkIGRlcGVuZGFuY3kgb24gZm91bmRhdGlvbiBYWSBncmlkIHN5c3RlbSBmb3IgdGhlaXIgcG9zaXRpb25pbmcuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUHJvZHVjdCAvIEltYWdlIGNvbGxlY3Rpb25zXHJcbiAgLSBHcmlkIHZpZXdcclxuICAtIFNsaWRlc2hvdyB2aWV3XHJcbi0gVmFyb3VzIENNUyB0eXBlczpcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gR2VuZXJpYyBDTVMgZW50cmllcyBcclxuLSBFQkcgSW5mb3JtYXRpb25cclxuLSBCYWNrZ3JvdW5kcyAoIEN1cnJlbnRseSBvbmx5IHN1cHBvcnQganVzdCBjb2xvdXJzIG5vdCBpbWFnZXMgKTogXHJcbiAgLSBSb3cgQmFja2dyb3VuZHMgXHJcbiAgLSBNb2R1bGUgQmFja2dyb3VuZHNcclxuKi9cclxuXHJcbi8vIFN0eWxpbmcgZm9yIHRlbXBsYXRlIG1vZHVsZXMgKCBDYXJvdXNlbHMgJiBjbXMgdGV4dCApICsgcm93IGJhY2tncm91bmRzLlxyXG5cclxuLy8gLnJvdy1iYWNrZ3JvdW5kIHtcclxuLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuLy8gICAgICYucm93LXBhZGRpbmcge1xyXG4vLyAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1vZHVsZXMtcm93LXBhZGRpbmcsIHNtYWxsKSAwOyBcclxuLy8gICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1vZHVsZXMtcm93LW1hcmdpbiwgc21hbGwpO1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbW9kdWxlcy1yb3ctcGFkZGluZywgbGFyZ2UpO1xyXG4vLyAgICAgICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1vZHVsZXMtcm93LW1hcmdpbiwgbGFyZ2UpO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLy8gQXMgdGhhdCBpcyBtb3JlIHRoYW4gbGlrZWx5IG1hcmdpbiBvbiB0aGUgYWJvdmUgZWxlbWVudCB3ZSBkb24ndCBuZWVkIHRvIGFkZCBhIG1hcmdpbiB0b3AgdG8gdGhlIGZpcnN0IG1vZHVsZS5cclxuQGlmICgkbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3ApIHtcclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDMsIHNtYWxsKVxyXG4gICAgfVxyXG4gICAgJi5jb250YWluZXItcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgc21hbGwpIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMywgbGFyZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0je3NwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIGxhcmdlKX07IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgYm9yZGVyOiAkbW9kdWxlLWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgIC8vIFN1cHByZXNzIGNtcyBjb250ZW50IHBhZGRpbmctdG9wIGR1ZSB0byBoZWFkaW5ncyBub3JtYWxseSBoYXZpbmcgdGhlIG1hcmdpbiBib3R0b20gYWxyZWFkeSBhcHBsaWVkLlxyXG4gICAgICAgICYgKyAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBJZiBtb2R1bGUgaGVhZGluZyBleGlzdHMgdGhlbiByZW1vdmUgcGFkZGluZy5cclxuLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICsgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBTZWxlY3RpbmcgaW5zaWRlIG9mIHRoZSBncmlkLWNvbnRhaW5lciBhcyB5b3Ugd2lsbCBtb3N0IGxpa2VseSBub3Qgd2FudCB0aGUgcmFkaXVzIGlmIHlvdSdyZSBmdWxsIHdpZHRoLlxyXG5AaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgLmdyaWQtY29udGFpbmVyIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1vZHVsZXMtbW9kdWxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2R1bGVzLXJvdy1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAvLyBGYWxsYmFjayBpZiBubyBtb2R1bGUgcGFkZGluZyBpcyBwcm92aWRlZC5cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAvLyB9XHJcbiAgICAmLm1vZHVsZS1wYWRkaW5nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3tzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBsYXJnZSl9OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2LjUlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5vIHRvcCBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTm8gYm90dG9tIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAvLyBObyB0b3AgKyBib3R0b20gZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLWJvdGgge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ29sbGVjdGlvbnMgLS0tLS0gXHJcbi5jb2xsZWN0aW9uIHtcclxuICAgIC8vIERlZmF1bHQgdG8gcHJvZHVjdCBhc3BlY3QgcmF0aW8sIG92ZXJyaWRlIGlmIG5lZWRlZC5cclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbGxlY3Rpb24gZ29lcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgY29udGFpbmVyICggcHJvZHVjdCBsaXN0IClcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJi5zaG93LWNvbG91cnMge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogKDVweCAtICgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aCAqIDIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcjogMS4zICFkZWZhdWx0O1xyXG5cclxuICAgIC8vIEd1dHRlciBjb25maWd1cmF0aW9uLlxyXG4gICAgJi5jb2xsZWN0aW9uLXJlbW92ZS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tc21hbGwtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tbWVkaXVtLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAjeyhtZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpIC8gJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3IpfTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAjeyhsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcikgLyAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcil9O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaW1hZ2UtZ3JpZC1tb2R1bGUsICYuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLy8gTG9vayBmb3IgaW5saW5lIHN0eWxlJ3MgZmlyc3QgYXMgYmFubmVyIGNhbiBiZSB1cGxvYWRlZCBpbiBhbGwgZGlmZmVyZW50IHNpemVzLCB0aGVuIGRlZmF1bHQgYmFjayB0byBhdXRvIGlmIG5vdGhpbmcgaXMgcHJvdmlkZWQuXHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTsgXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skZWJnLW1lZGlhLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24ncyBjZWxsIGNhbGN1bGF0aW9uIGluIGZhdm91ciBvZiBvdXQgb3duLlxyXG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIHRvIHVzZSB0aGUgZ3JpZCBsYXlvdXQgbW9kdWxlLlxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3JtdWxhIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGNvbHVtbiB3aWR0aHMgY29sbGVjdGlvbnMuXHJcbiAgICBAbWl4aW4gY29sbGVjdGlvbi1ncmlkLWNlbGwtY2FsY3VsYXRvcigkY291bnQpIHtcclxuICAgICAgICAvLyBUaGlzIGZvcm11bGEgaXMgYmFzZWQgb24gdGhpcyBzdGFjayBwb3N0IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzcyMTE2MTcwL2FjY291bnQtZm9yLWdhcC13aGVuLWNhbGN1bGF0aW5nLWZsZXgtYmFzaXMuXHJcbiAgICAgICAgLy93aWR0aDogY2FsYygje3h5LWNlbGwtc2l6ZSgxIG9mICN7JGNvdW50fSl9IC0gdmFyKC0tbW9kdWxlLWd1dHRlciwgMHB4KSAvICRjb3VudCAqICgkY291bnQgLSAxKSk7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoI3t4eS1jZWxsLXNpemUoMSBvZiAkY291bnQpfSAtIHZhcigtLW1vZHVsZS1ndXR0ZXIsIDBweCkgLyAjeyRjb3VudH0gKiAoI3skY291bnR9IC0gMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvdyBtYW55IGNvbHVtbnMgZG8gd2Ugc3VwcG9ydCBmb3IgY29sbGVjdGlvbnM/XHJcbiAgICAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50OiA4O1xyXG5cclxuICAgIEBtaXhpbiBncmlkLWNvbHVtbi1jbGFzc2VzKCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgQGZvciAkY29sdW1uLWNvdW50IGZyb20gMSB0aHJvdWdoICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQge1xyXG4gICAgICAgICAgICAuI3skYnJlYWtwb2ludH0tdXAtI3skY29sdW1uLWNvdW50fSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skY29sdW1uLWNvdW50fSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNtYWxsIERldmljZXMgKCBQaG9uZXMgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3Nlcygnc21hbGwnKTtcclxuICAgIC8vIE1lZGl1bSBEZXZpY2VzICggVGFibGV0cyApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdtZWRpdW0nKTtcclxuICAgIC8vIExhcmdlIERldmljZSAoIERlc2t0b3BzICYgQWJvdmUgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3NlcygnbGFyZ2UnKTtcclxuXHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgdGFyZ2V0dGluZyBjb2xsZWN0aW9uIGltYWdlcyAoIHRoaXMgaW5jbHVkZXMgZ3JpZCdzIGFuZCBjYXJvdXNlbHMgKSB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2VzIGFzIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhlIHNpemUgb2YgZXh0ZXJuYWwgZGF0YSdzIGltYWdlcy5cclxuICAgIEBmb3IgJGNvbHVtbi1jb3VudCBmcm9tIDEgdGhyb3VnaCAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50IHtcclxuICAgICAgICAuc21hbGwtdXAtI3skY29sdW1uLWNvdW50fSwgW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbi1jb3VudH1cIl0ge1xyXG4gICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIC5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ3NtYWxsJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBub3QgKCRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdzbWFsbCcsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNldCBmaXQtY29udGVudCBhcyB0aGlzIGNhdXNlcyBzY2FsbGluZyBpc3N1ZXMgZm9yIGFwcGxlIGRldmljZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ3VycmVudGx5IGRvbid0IGRvIGFueXRoaW5nIGRpZmZlcmVudCBmb3IgbWVkaXVtIGRldmljZXMgKCB0YWJsZXRzICkgdG8gc21hbGwgZGV2aWNlIGJ1dCB0aGlzIG1heSBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cclxuXHJcbiAgICAgICAgLmxhcmdlLXVwLSN7JGNvbHVtbi1jb3VudH0sIFtieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW4tY291bnR9XCJdIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdsYXJnZScsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIG5vdCAoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdsYXJnZScsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gXHJcblxyXG4gICAgJi5zaG93LWNvbG91cnMge1xyXG4gICAgICAgIC8vIEFzIHRoaXMgY2FuIG9ubHkgYmUgRUJHIG9ubHkgc2VsZWN0IGViZyBjb2xsZWN0aW9uIGl0ZW1zLlxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIHtcclxuICAgICAgICAgICAgLy8gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjEsIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXI0LCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcblxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGVzIGZvciBib3RoIGNvbXBhY3QgYW5kIG5vbi1jb21wYWN0IG1vZGVzLlxyXG4gICAgICAgICAgICAgICAgJi5jb21wYWN0LCAmOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jb21wYWN0LCAmOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBJbWFnZSBzcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIERvIHdlIHJvdW5kIGltYWdlIGNvbnRhaW5lciBlZGdlcz9cclxuICAgICAgICAkcm91bmQtaW1hZ2UtZWRnZXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBJZiB0aGUgY29udGFpbmVyIGhhcyB0aGUgaW1hZ2UgY2xhc3MgdGhlbiBwdXQgYSBib3JkZXIgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBjZWxsLlxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYW5kbGVzIGlmIHRoZSBjdXJyZW50IGNvbnRhaW5lciBpcyBqdXN0IGZvciBhbiBpbWFnZSBvciB3aGV0aGVyIHRoZSBpbWFnZSBpcyBuZXN0ZWQuXHJcbiAgICAgICAgLmltYWdlLCAmLmltYWdlIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyb3VuZC1pbWFnZS1lZGdlcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvKiBTZXR0aW5nIHRoaXMgZ2VuZXJpY2FsbHkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcclxuICAgICAgICAgICAgMS4gSWYgY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMgaXMgZW5hYmxlZFxyXG4gICAgICAgICAgICAyLiBJZiBpbWFnZSBzY2FsZSBpcyBlbmFibGVkLlxyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmltYWdlLCAmLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAvLyBUcmlhbGluZyB0aGlzIGZpeCB0byBiZSBhIGJpdCBtb3JlIHJlLWFjdGl2ZSB0byBjb2x1bW4gY291bnRzIGluIG1vYmlsZSBkZXZpY2Ugd2hlbiBzaG93aW5nIDIgY29sdW1ucyBvZiBpbmZvcm1hdGlvbiwgd2UgZG9uJ3QgZGVmaW5lIHRoZSBtb2JpbGUgY291bnQgc28gdGhlcmUgaXMgbm90aGluZyB0byBsYXRjaCBvbnRvIGluIHRoZSBET00gd2hpY2ggd291bGQgc3VnZ2VzdCAyIGNvbHVtbnMgYXMgdGhlIHdpZHRoIGFyZSBwcm9ncmFtYXRpY2FsbHkgd29ya2VkIG91dCBpbiB0aGUgSlMgYnkgZGl2aWRpbmcgdGhlIGRlc2t0b3AgY291bnQuXHJcbiAgICBbYngtY29sdW1uLWNvdW50PVwiNFwiXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSW1hZ2UgJiBQcm9kdWN0IGdyaWQgY29sbGVjdGlvbnMsIHRoaXMgZ2V0cyB1c2VkIGZvciBtb2R1bGVzIGFuZCBwcm9kdWN0IGxpc3RpbmcgcGFnZXMuXHJcbi5pbWFnZS1ncmlkLW1vZHVsZSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUsIC5jb2xsZWN0aW9uIHtcclxuICAgIC5ncmlkLWNvbGxlY3Rpb24teCB7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xyXG4gICAgICAgICAgICAvLyBVbnNldCBGb3VuZGF0aW9uJ3MgWFkgR3JpZCB3aWR0aCBpbiBmYXZvdXIgb2Ygb3VyIG93biBtb2R1bGUncyBncmlkIHN5c3RlbSB0aGF0IGlzIG5vdCBiYXNlZCBvbiBmbGV4Ym94LlxyXG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIFByb2R1Y3QgR3JpZCBDb2xsZWN0aW9uIC0tLVxyXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLCAncGFkZGluZycpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKGlmKCRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQsIHRydWUsIGZhbHNlKSwgdHJ1ZSk7XHJcbiAgICAvLyAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gICAgIC8vIEZvciBib3ggc2hhZG93LlxyXG4gICAgLy8gICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCk7XHJcbiAgICAvLyB9XHJcbn1cclxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIE1ha2luZyBhbiBhc3N1bXB0aW9uIHRoYXQgdGhlIGZpcnN0IGFuY2hvciBpcyBhbiBpbWFnZS5cclxuICAgICAgICA+IGE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIC8vIENlbnRlciBpbWFnZSBpbnNpZGUgb2YgYW5jaG9yIGp1c3QgaW4gY2FzZSB0aGUgaW1hZ2UgaXMgbm90IHRoZSBjb3JyZWN0IHNpemUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGFycmFuZ2VkIGxlZnQuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKGltZykpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmICgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCkge1xyXG4gICAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLCAucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgsIDIpID09IDAgYW5kIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgsIDMpICE9IDApIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBib3JkZXIgb24gdGhlIHNpemUgYnV0IGF0IHRoZSBib3R0b20gdGhlbiB5b3UgbW9zdCBsaWtlbHkgbmVlZCBhZGR0aW9uYWwgcGFkZGluZyB0byBwdXNoIHRoZSBydWxlIGF3YXkgZnJvbSB0aGUgY29udGVudC5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBJbWFnZSBHcmlkIENvbGxlY3Rpb24gLS0tIFxyXG4uaW1hZ2UtZ3JpZC1tb2R1bGUge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygyMHB4LCAncGFkZGluZycpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciAge1xyXG4gICAgICAgIC8vIEFkZGluZyB3aWR0aCBmaXQtY29udGVudCBpZiBib3JkZXIgaXMgYXBwbGllZCBvdGhlcndpc2UgYSBnYXAgUiArIEwgaXMgY3JlYXRlZCBpbiBtb2JpbGUgZHVlIHRvIG9ubHkgc3VwbHlpbmcgb25lIGltYWdlIHNpemUgZm9yIG1vYmlsZSAmIGRlc2t0b3AuXHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgIC8vICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciAge1xyXG4gICAgLy8gICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgIC8vICAgICAgICAgaW1nIHtcclxuICAgIC8vICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgICY6aG92ZXIge1xyXG4gICAgLy8gICAgICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAvLyAgICAgICAgICAgICBpbWcge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIENvbnRlbnQgTWFuYWdtZWVudCBNb2R1bGUgKCBDTVMgKSAtLS0tLVxyXG4uY21zLW1vZHVsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIFRha2UgdXAgYWxsIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaW1hZ2UtZ2FsbGFyeSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXlvdXR1YmUtdmlkZW8oKTtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgyKSA9PSB0cnVlLG5vbmUsdW5kZXJsaW5lKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMykgPT0gdHJ1ZSxub25lLHVuZGVybGluZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICBAaWYgJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNtcy1tb2R1bGUtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIC8vIFRha2UgdXAgYWxsIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cy1tb2R1bGUge1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cclxuICAgICAgICAgICAgJGNvbHVtbi13aWR0aDogKCRnbG9iYWwtd2lkdGggLyAyKSAtIChsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZykpIC0gbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluLWNvbnRlbnQsICRjb2x1bW4td2lkdGgpKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLW1vZHVsZSB7XHJcbiAgICAgICAgLy8gVG8gZm9yY2UgdGhlIGFkZGl0aW9uYWwgc3BhY2UgdGhhdCBub3JtYWxseSBvbmx5IGdldHMgYXBwbGllZCBpZiBtb2R1bGVzIGhhcyBhIGJhY2tncm91bmQuXHJcbiAgICAgICAgQGlmICRtb2R1bGVzLWJsb2cteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCkpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtb2R1bGVzLWJsb2cteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVbnNldCB0aGUgbWF4LWhlaWdodCBpZiB0aGVyZSBpcyBhIGJhbm5lciwgdG8gdGhlbiBtYXRjaCB0aGUgYmFubmVyJ3MgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgJHJlYWQtbW9yZS1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJHJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAvLyBBZGQgbWF4IGhlaWdodCB0byBjb250ZW50IG90aGVyd2lzZSBmYWRlIGVmZmVjdCB3aWxsIGJlIGluIHRoZSBvdmVyZmxvdy5cclxuICAgICAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJHJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiYmxvZ1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBibG9nKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubmV3cy1tb2R1bGUge1xyXG4gICAgICAgIEBpZiAkbW9kdWxlcy1uZXdzLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRtb2R1bGVzLW5ldy1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9kdWxlcy1uZXdzLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1tb2R1bGUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXMgYSBydWxlIG9mIHRodW1iIGlmIHdlIGFsaWduIHRleHQgY2VudGVyIHdlIHNob3VsZCBqdXN0aWZ5IHRoZSBlbnRpcmUgY29udGVudCBhcyB3ZWxsLlxyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAtLS0gVGV4dCBhbGlnbm1lbnQgLS0tXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGV4dC1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRleHQtYWxpZ24tY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gLS0tIExheW91dCBTdHlsZXMgLS0tIFxyXG4gICAgICAgIC8vIENvbnRlbnQgYm90dG9tLCBpbWFnZSB0b3AuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXRvcCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLCAmLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBMZWZ0LCBpbWFnZSByaWdodC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBtaW4taGVpZ2h0OiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IFRvcCwgaW1hZ2UgYm90dG9tLlxyXG4gICAgICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBSaWdodCwgaW1hZ2UgbGVmdC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHNtYWxsLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxheW91dC1zdHlsZSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgb2xkIHN0eWxlcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgLy8gVE9ETzogdGhpcyBuZWVkcyB0byBiZSByZWZhY3RvcmVkLlxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIHVzZXIncyB3b3VsZCB1cGxvYWQgaW1hZ2VzIHRoYXQgYXJlIHRvbyBiaWcgZm9yIHRoZSBjb250ZW50IGFyZWEgd2hpY2ggdGhlbiBjYXVzZXMgdGhlIGltYWdlIHRvIG92ZXJmbG93IHRoZSBjb250YWluZXIncyBib3VuZGFyaWVzLiA4NjUwNDJcclxuICAgICAgICAvLyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIC8vICAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICYuY29tcGFjdCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgZ3V0dGVyLlxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBsaXN0IHBhZGRpbmcgcnVsZXMgZHVlIHRvIGNhdXNpbmcgbGF5b3V0IG5vdCB0byBhYmlkZSBieSB0aGUgZmxleC1iYXNpcyBydWxlcyBpbnBsYWNlLCBiYXNpY2FsbHkgbmVzdGVkIHVsJ3Mgd2lsbCBjYXVzZSB0aGUgY29udGVudCB0byB0YWtlIHVwIHRvbyBtdWNoIHNwYWNlLlxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yaWdodC1hbGlnbmVkLCAmLmxlZnQtYWxpZ25lZCwgJi5jb21wYWN0IHtcclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBlbnRyeSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBlbnRyeSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhcyBhc3NvY2lhdGVkIGJhbm5lci5cclxuICAgICAgICAvLyAmLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgLy8gICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAvLyBCeSBkZWZhdWx0LlxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yaWdodC1hbGlnbmVkLCAmLmxlZnQtYWxpZ25lZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgNjAlO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yaWdodC1hbGlnbmVkIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sZWZ0LWFsaWduZWQge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJjpub3QoLmhhcy1pbWFnZSkge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIH1cclxuICAgICYuY29sdW1uIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTA4MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5yb3ctaW52ZXJ0IHtcclxuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICAvLyAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAyOTBweDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYuNSU7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNvbHVtbi1pbnZlcnQge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzkwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIG5lZWRzIHRvIGdvIGFmdGVyIDgxNzEzOCBpcyBsaXZlLlxyXG4gICAgJjpub3QoLmNvbHVtbik6bm90KC5jb2x1bW4taW52ZXJ0KTpub3QoLnJvdy1pbnZlcnQpOm5vdCgubGF5b3V0LXN0eWxlKS5oYXMtaW1hZ2Uge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBpbiBJRSB0aGUgY29udGVudCBnb2VzIG91dCBvZiB0aGUgbW9kdWxlIHdpZHRoLlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAvLyBDYW5ub3Qgc3VwcHJlc3MgdGhpcyB3aXRob3V0IHVzaW5nIHRoZSBuZXcgbGF5b3V0LXN0eWxlIG9wdGlvbnMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAmOm5vdCgubGVmdC1hbGlnbmVkKSB7XHJcbiAgICAgICAgJi5oYXMtaW1hZ2Uge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi1pbnZlcnQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW1hZ2UgbWFuYWdlbWVudC5jYXJvdXNlbC1tb2R1bGVcclxuICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgICAgIFxyXG4gICAgICAgICAgICBwbGFjZS1jb250ZW50OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC8vIERvbnQgc2V0IGhlaWdodCAxMDAlIGFzIGl0IHdpbGwgY2F1c2UgbGFyZ2Ugc3BhY2VzIGJlbGxvdyAvIGFib3ZlIGZvciBBcHBsZSBkZXZpY2VzIGluIG1vYmlsZSB0aGlzIGlzIGFtcGxpZmllZCBkZXBlbmRpbmcgb24gaG93IG92ZXJzaXplZCB0aGUgdGhlIGltYWdlIGlzLlxyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7IC8vIFRoaXMgbmVlZHMgdG8gYmUgc2V0IGZvciBpZiB0aGUgY29uZmlndXJhdGlvbiBpbiBkZXNrdG9wIGRlY2lkZXMgdG8gdXNlIGNvbnRhaW4gaW5zdGVhZCBvZiBjb3Zlci5cclxuICAgICAgICAgICAgLy8gQmVjYXVzZSBJRSBkb2Vzbid0IGhhdmUgc3VwcG9ydCBmb3Igb2JqZWN0LWZpdC5cclxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIC8vIElFMTArXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgLy8gbWF4LWhlaWdodDogNzUlO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgLy9tYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAubW9kdWxlLW5hdmlnYXRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAvLyBmbG9hdDogbGVmdDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC5ibG9nLWJ1dHRvbiwgLm5ld3MtYnV0dG9uLCAuZXZlbnRzLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGRvZXNuJ3Qgd29yayBmb3IgMTIgY29sdW1uIG1vZHVsZXMsIHRoZXJlIGlzIEpTIGluIHBsYWNlIHRvIGRldGVjdCB3aGV0aGVyIGEgbW9kdWxlIGhhcyBiZWVuIGVxdWFsaXNlZC5cclxuLy8gVGhpcyBpcyB0byBwcmV2ZW50IGxvbmcgY21zIGVudHJpZXMgZnJvbSBkaWN0YXRpbmcgdGhlIGhlaWdodCBvZiB0d28gY2VsbHMgaS5lIHdoZW4geW91IGhhdmUgYSBjb2xsZWN0aW9uIHRvIHRoZSByaWdodCBhbmQgY21zIHRvIHRoZSBsZWZ0LCBvbmNlIGVxdWFsaXNhdGlvbiBoYXMgZmluaXNoZWQgdGhlIGNvbnRlbnQgaXMgcmUtZW5hYmxlZCBhbmQgdGhlIHJlYWQgbW9yZSBmYWRlIGlzIHRoZW4gYXBwbGllZCwgdGhlIG90aGVyd2F5IGFyb3VuZCB0aGlzIHdvdWxkIGJlIG5vdCB0byBwcm92aWRlIGFzIG11Y2ggbWFya3VwIGZyb20gYSBjbXMgZW50cnkgYnV0IHRoYXQgZ2V0cyBjb21wbGV4IGluIHRlcm1zIG9mIGdlbmVyYXRpbmcgaW52YWxpZCBIVE1MLlxyXG4vLyAubW9kdWxlLWJhY2tncm91bmQge1xyXG4vLyAgICAgJltkYXRhLWVxdWFsaXplci13YXRjaF06bm90KFtzdHlsZSo9XCJoZWlnaHRcIl0pIHtcclxuLy8gICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIHtcclxuICAgIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSB7XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDU5MHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA2LjUlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzBweDtcclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gTW9kdWxlIEJhY2tncm91bmRzIC0tLS0tIFxyXG4ucm93LWJhY2tncm91bmQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gJjpmaXJzdC1vZi10eXBlIHtcclxuICAgIC8vICAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIC0tLSBQYWRkaW5nIGNvbmZpZ3VyYXRpb24gLS0tIFxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy10b3Age1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgLy8gTWFrZSBzdXJlIHRvIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGFzIHRoaXMgY2FuIGNhdXNlXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbik7XHJcbiAgICAvLyBSZW1vdmluZyBhcyBpdCB3YXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIG1vZHVsZSBjb25maWd1cmF0aW9uLlxyXG4gICAgLy8gei1pbmRleDogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgIH1cclxuICAgIC8vIFlvdSBkb250IG5lZWQgYXMgbXVjaCBhZGRpdGlvbmFsIHBhZGRpbmcgaWYgbm8gY29sb3VyIGlzIHNldC5cclxuICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIHtcclxuICAgICAgICAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgNCwgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCA0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksICYuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgIC8vIEFkZCBhIHNtYWxsIGd1dHRlciB0byB0aGUgcmlnaHQgKyBsZWZ0IHRvIGFsbG93IGZvciB0aGUgYmFja2dyb3VuZCB0byBibGVlZCBhcm91bmQgaXQuXHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAwLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMCwgbGFyZ2UpOyAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3Mgc2hhZG93IGFzIHRoaXMgZG9lc24ndCBsb29rIHZlcnkgZ29vZCBvbiBhbnl0aGluZyBvdGhlciB0aGFuIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kdWxlLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBDYXJvdXNlbCBNb2R1bGUgLS0tLS1cclxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIC8vIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICAmLmNhcm91c2VsLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgU3Vic2lkaWFyeSBNb2R1bGUgLS0tLS0gXHJcbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUge1xyXG4gICAgLnNlcmllcy1jYXJkIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gRG9udCBkbyB0aGlzIHVzZSBncmlkLW1hcmdpbi15IGluc3RlYWQuXHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMjVweDtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1wYWRkaW5nO1xyXG4gICAgICAgIGJvcmRlcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtYm9yZGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1zaXplO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICAgICBcclxuICAgIFxyXG59XHJcblxyXG4vLyAtLS0tLSBFQkcgSW5mb3JhbWF0aW9uIC0tLS0tXHJcbi5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtZnVsbC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtbm90ZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncm91cC1pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGluZyBNb2R1bGUgLS0tLS0gXHJcbi5wYWdlLWhlYWRpbmctbW9kdWxlIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luKTtcclxuICAgIH1cclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIG1hcmdpbi1ib3R0b20gdG8gYWxsb3cgZm9yIHJvdyArIG1vZHVsZSBzcGFjaW5nIHRvIGNvbnRyb2wgdGhlIGdhcC5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBEZWJ1ZyBkaXNwbGF5cyAtLS0tLSBcclxuLy8gLS0tIE1vZHVsZSBjb25maWcgLS0tIFxyXG4ubW9kdWxlLWNvbmZpZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBsaSwgc3Ryb25nLCBoMyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICBsaSwgc3Ryb25nIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBBcHBseSBtb2R1bGUgZWZmZWN0IHN0eWxlcywgdGhlc2Ugc2hvdWxkIGJlIG9wdGlvbmFsIGFuZCBvdmVycmlkZSB0aGUgZGVmYXVsdCBzdHlsZXMgKCBhYm92ZSApLlxyXG4vLyBDb21tb24gZWZmZWN0IHZhcmlhYmxlcyBzaGFyZWQgYWNyb3NzIGFsbCBtb2R1bGVzLlxyXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vIENvbW1vbiBzdHlsZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGVmZmVjdC5zXHJcbiAgICAmLmVmZmVjdC1zdHlsZSB7XHJcbiAgICAgICAgLy8gLS0tLS0gU3R5bGUgb3ZlcnJpZGVzIC0tLS0tXHJcbiAgICAgICAgLy8gRm9yIGNvbG91ciBvcHRpb25zIHBsZWFzZSByZWZlciB0byBnbG9iYWwgQ1NTIHZhcmlhYmxlcywgdGhlc2UgYXJlIGRlZmluZWQgaW4gdGhlIGdsb2JhbCBhcHAuc2Nzcy5cclxuXHJcbiAgICAgICAgLy8gLS0tIEJvcmRlciBPcHRpb25zIC0tLVxyXG4gICAgICAgIC8vIFJhZGl1cy5cclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDFweDtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtbWVkaXVtOiA1cHg7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiAyNSU7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLXhsYXJnZTogNTAlO1xyXG5cclxuICAgICAgICAvLyBXaWR0aCBodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2Nzc3JlZi9wcl9ib3JkZXItd2lkdGgucGhwLlxyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLXRoaW46IDFweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1saWdodDogMnB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLW1lZGl1bTogNXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLWJvbGQ6IDEwcHg7XHJcblxyXG4gICAgICAgIC8vIC0tLSBJbWFnZSBTY2FsaW5nIC0tLVxyXG4gICAgICAgIC8vIFJlZHVjZVxyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLXNtYWxsOiAuOTU7XHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2UtbWVkaXVtOiAuODA7XHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2UtbGFyZ2U6IC42MDtcclxuXHJcblxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgbWF5IG5lZWQgcmVmaW5pbmcgbGF0ZXIgb24gdG8gc3BlY2lmaWMgcHJvcGVydGllcy5cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbGxlY3Rpb24gKCBHcmlkICYgQ2Fyb3VzZWxzICkgc3BlY2lmaWMgZWZmZWN0cy5cclxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vIEVmZmVjdCBTdHlsZXMgKCBzcGVjaWFsIGVmZmVjdHMgb24gdGhpbmdzIGxpa2UgaW1hZ2VzIGJvcmRlciwgYm94LXNoYWRvd3MgKVxyXG4gICAgJi5pbWFnZS1ib3JkZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIHtcclxuICAgICAgICAvLyBGYWxsYmFjayByYWRpdXMuXHJcbiAgICAgICAgJHJhZGl1cy1mYWxsYmFjazogNTAlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAvLyBBZGQgaW5zZXQgc2hhZG93LlxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWx0ZXJhbnRpdmUgbWFya3VwICggYXMgaW1hZ2UgbW9kdWxlcyBtYXJrdXAgaXMgZGlmZmVyZW50IHRvIHByb2R1Y3QgKVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW52ZXJ0IGNlbGwgc2hhZG93IHNob3dzIHRoZSBib3gtc2hhZG93IGFzIGRlZmF1bHQgaW5zdGVhZCBvZiBvbiBob3ZlciwgdGhpcyBlc3NlbnRpYWxseSBkb2VzICRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQgb24gYSBtb2R1bGUgbGV2ZWwgaW5zdGVhZCBvZiBhIGdsb2JhbCBsZXZlbC5cclxuICAgICYuaW52ZXJ0LWNlbGwtc2hhZG93IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEZvcmNlIG9wYWNpdHkuXHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZWR1Y2VzIHRoZSBpbWFnZSB3aGVuIHRoZSBjb250ZW50IGNvbnRhaW5lciBpcyBob3ZlcmVkLlxyXG4gICAgJi5yZWR1Y2UtaW1hZ2UtaG92ZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2UgYm94LXNoYWRvdyBvbiBjZWxsLlxyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pbWFnZTpob3ZlciwgJjpob3ZlciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yY2Ugb3BhY2l0eSAxLlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1yZWR1Y2UtaW1hZ2UsIC45NSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5pbWFnZSBpbWcge1xyXG4gICAgICAgICAgICAvLyBJZiBzbW9vdGggZWRnZXMgZW5hYmxlZCB0aGVuIGVuc3VyZSB0aGUgaW1hZ2UgaGFzIHJvdW5kZWQgY29ybmVycywgdGhpcyBhbHNvIG5lZWRzIHRvIGluY2x1ZGUgaGlnaGxpZ2h0IGl0ZW0gb3ZlcmxheXMgYXMgd2VsbC5cclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY2VsbC1ib3JkZXItZGVmYXVsdCB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYubW9kdWxlLWJvcmRlcnMge1xyXG4gICAgICAgICRwYWRkaW5nOiAoXHJcbiAgICAgICAgICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgICAgICAgICBsYXJnZTogODBweFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6ICN7c21hbGwtdmFsdWUoJHBhZGRpbmcpfSAwIDA7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS10b3Age1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXJpZ2h0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzbWFsbC12YWx1ZSgkcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc21hbGwtdmFsdWUoJHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGFkZGluZykgI3sobGFyZ2UtdmFsdWUoJHBhZGRpbmcpICsgMjApfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEFuaW1hdGlvbnMgSFRNTDUgQ2FudmFzIC0tLS0tXHJcbi5hbmltYXRpb24tbW9kdWxlIHtcclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307XHJcbiAgICBbZGF0YS1hbmltYXRpb25dIHtcclxuICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbyk7XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLypcclxuLS0tLS0gU3RvY2sgSW5kaWNpYXRvcihzKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEluc3RvY2ssIE91dCBvZiBzdG9jayAmIExvdyBzdG9jayBpY29ucy5cclxuLSBFbWFpbCB3aGVuIGJhY2sgaW4gc3RvY2tcclxuKi9cclxuXHJcbi5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgIEBpZiAoJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlICE9IFwibm9ybWFsXCIpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvL1NoYXJlZCBzdHlsZXMuXHJcbiAgICAgICAgJi5zb2gtMiwgJi5zb2gtMSwgJi5zb2gtMCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAsIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgICAgID4gcCwgcCwgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHN0b2NrLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2hhcmVkIHN0eWxlcyAoIHJlZ2FyZGxlc3Mgb2YgcHJlc2V0cyApLlxyXG4gICAgJi5zb2gtMiwgJi5zb2gtMSwgJi5zb2gtMCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHAsIHAsIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogJHN0b2NrLWluZGljYXRvci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gU3RvY2sgbGV2ZWsgc3BlY2lmaWMgc3R5bGVzIC0tLVxyXG4gICAgLy8gSGlnaCBzdG9ja1xyXG4gICAgJi5zb2gtMiB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTIpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0yLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTG93IHN0b2NrXHJcbiAgICAmLnNvaC0xIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1pY29uLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWxldmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBObyBzdG9ja1xyXG4gICAgJi5zb2gtMCB7XHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0wKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMC1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMC1sZXZlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFN0b2NrIE5vdGlmaWNhdGlvbnMgLS0tIFxyXG4gICAgJi5ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN0b2NrLW5vdGlmaWNhdGlvbi1pY29uKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzb2gtbm90aWZpY2F0aW9uLXN0YXR1cy1pY29uLXNpemU7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN0b2NrLW5vdGlmaWNhdGlvbi1hY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFdoZW4gdGhlIG5vdGlmaWNhdGlvbiBoYWQgcHJldmlvdXNseSBiZWVuIGVuYWJsZWQuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBbZGF0YS10b29sdGlwXSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbGxlY3Rpb24tb25seS1pbmRpY2F0b3Ige1xyXG4gICAgY29sb3I6ICRzdG9jay1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci13ZWlnaHQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29sbGVjdGlvbi1vbmx5KTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc29oLWNvbGxlY3Rpb24tb25seS1pY29uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc29oLWNvbGxlY3Rpb24tb25seS1jdXN0b20taWNvbik7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8tLS0gU3RvY2sgbm90aWZpY2F0aW9uIGRldGFpbHMgcHJvbXB0IC0tLSBcclxuI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL092ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxpbmcganVzdCBpbiBtb2JpbGUuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgdG9wOiAxMHZ3IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jbXNDb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbiNub3RpZmljYXRpb25Gb3JtQ29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDg1dnc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzB2dztcclxuICAgIH1cclxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybVN1Ym1pdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGNvbG91cjMpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1zdG9jay1pbmRpY2F0b3ItdXBkYXRlXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLy8tLS0tLSBQcm9kdWN0IHBhZ2UgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTsgICAgXHJcbiAgICAvLyBXb3Jrb3V0IGhhbGYgb2YgZ3V0dGVyLlxyXG4gICAgJGVucXVpcnktZ3V0dGVyOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlciwgMiwgbWVkaXVtKSAvIDIpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heChjYWxjKDMwJSAtICN7JGVucXVpcnktZ3V0dGVyfSksIDFmcikgbWlubWF4KGNhbGMoNzAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSwgMWZyKTtcclxuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDUwMHB4LCA2MCUpKTtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBwdXQgaW4gcGxhY2Ugc28gdGhhdCBzdGlja3kgaW1hZ2UgZG9lc24ndCBvdmVybGFwIG9udG8gdGhlIHRhYnMgYXJlYSwgeWVzIGl0cyBhIGhhY2sgYnV0IHdpdGhvdXQgcmVkZXNpZ25pbmcgdGhlIHN0aWNreSBtZWNoYW5pc20gODQzNDczIHRoZXJlIGlzIGxpdHRsZSB3ZSBjYW4gZG8uXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNTAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSBjYWxjKDUwJSAtICN7JGVucXVpcnktZ3V0dGVyfSk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICAvLyBEZWZpbmluZyB0aGUgZ3JpZCB0aGF0IGdldHMgdXNlZCBmb3IgdGhlIGJ1bGsgb2YgdGhlIGRldGFpbHMuXHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmlnaHQsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGluc2lkZSBvZiBwcm9kdWN0IGVucXVpcnkgZGV0YWlscyB0aGVuIGRvbid0IGdyb3cgb3RoZXJ3aXNlIHRoaXMgY291bGQgcHVzaCBjb250ZW50IGRvd24gd2hlbiBtYXRjaGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBtZWRpYSBjb250ZW50IGNvbnRhaW5lciBlLmcgaWYgdGhlIHJlZmVyZW5jZXMgaXMgdW5kZXIgdGhlIGNhbGxiYWNrIGNvbnRhaW5lciB0aGUgcmVmZXJlbmNlcyB3aWxsIGJlIHB1c2hlZCBkb3duIGNhdXNpbmcgYSBsYXJnZSBnYXAuXHJcbiAgICAgICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGlzIG1vZHVsZSBkb2VzIG5vdCBjb250YWluZXIgYW55IGNoaWxkcmVuIHRoZW4gZGlzcGxheTogbm9uZTsgb3RoZXJ3aXNlIHRoZSBncmlkIGdhcCBpcyBzdGlsbCByZXByZXNlbnRlZC5cclxuICAgICAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsaW5nIGZvciB0aGlzIHNwZWNpZmljIHRvIHRoaXMgYXJlYS5cclxuICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLnNoYXJlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGFnZSBIZWFkaW5nIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IHNlbGVjdGlvbiAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLW1vZHVsZS1ndXR0ZXIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUXVhbnRpdHkgc2VsZWN0aW9uIC0tLVxyXG4ucXVhbnRpdHktbW9kdWxlLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpO1xyXG4gICAgfVxyXG4gICAgLnNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5cclxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIC8vIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIC5xdWFudGl0eS1tb2R1bGUge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvLyAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8vICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgLy8gICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIC8vICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgIC8vICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgLy8gICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgLy8gICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAvLyAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4jcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vd2lkdGg6ICRwcm9kdWN0LWltYWdlLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgXHJcblxyXG4gICAgICAgIC5zbGlkZSB7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1wcmV2LFxyXG4gICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDIxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9sZCBydWxlcywgdGhlc2Ugd2lsbCBldmVudHVhbGx5IGJlIHN1cGVyc2VkZWQgYnkgdGhlIG5ldyBwcm9kdWN0IGVucXVpcnkgcnVsZXMgLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIDgyMzk0M1xyXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcclxuICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC8vIGhlaWdodDogNTUwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgIC8vICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7KHNwYWNpbmctdmFsdWUoJHBhZ2UtZ3V0dGVyLCAyKSAqIDIpfSAtICN7KHNwYWNpbmctdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzLCAyKSAqIDIpfSk7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC0gI3soc3BhY2luZy12YWx1ZSgkcGFnZS1ndXR0ZXIsIDIpICogMil9IC0gI3soc3BhY2luZy12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMsIDIpICogMil9KTtcclxuICAgIC8vIH1cclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogNTUwcHg7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA1NTBweDtcclxuICAgIC8vIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC8vIE1vdmVkIHRvIGF4aXMtbGlnaHRib3guc2Nzc1xyXG4gICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6IDNweCAxMnB4O1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLm92ZXJsYXkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1NTBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIHtcclxuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICAvLyBEdWUgbm90IGtub3dpbmcgd2hhdCBzaXplIGltYWdlIHdlIGNvdWxkIGdldCB0aGVuIGFzc2lnbiBhIG1pbiB3aWR0aCAmIGhlaWdodCB0byBzY2FsZSB0aGUgaW1hZ2UgdXAgc2xpZ2h0bHksIGV2ZW4gdGhvdWdoIGl0IHdpbGwgYmUgbG93IHF1YWxpdHkgaXQgaXMgc3RpbGwgYmV0dGVyIHRoYW4gaGF2aW5nIGEgYmFyZWx5IG5vdGljYWJsZSBpbWFnZSwgaWYgdXNpbmcgdGhlIG1hZ25pZmljYXRpb24gbGlicmFyeSB0aGVuIHRoaXMgd2lsbCBiZSBzY2FsZWQgYWdhaW4uIFdoZW4gYWRqdXN0aW5nIHRoZXNlIHZhcmlhYmxlcyBrZWVwIGluIG1pbmQgd2UgbmVlZCB0byBzdXBwb3J0IG1peGVkIGFzcGVjdCByYXRpbyBpbWFnZXMuXHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG4gICAgJiArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xyXG4gICAgICAgICY6aGFzKGltZykge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIEhpZ2hsaWdodGVkIEJhbm5lcnMgLS0tLS0tXHJcbi8vIFRPRE86IE9MRCBXQVkgT0YgSEFORExJTkcgVEhJUyBDQU4gQkUgUkVNT1ZFRCBPTkNFIDgyMzk0MyBDT01QTEVURURcclxuLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUge1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0LWVucXVpcnktaGlnaGxpZ2h0ZWQtYmFubmVycyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xyXG4gICAgZ2FwOiAxMHB4O1xyXG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIFJlZmVyZW5jZSwgUGFydCBDb2RlLCBBbHQgUmVmIC0tLS0tLVxyXG4ucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICBjb2xvcjogJGNvZGUtY29sb3VyO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtY29kZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZyk7XHJcbiAgICBnYXA6IDEwcHggMjVweDtcclxuICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gTGFiZWwgKyBWYWx1ZSBQYWlyIC0tLS0tLVxyXG4vLyBHZW5lcmljIGNvbnRhaW5lciB1c2VkIHRvIGRpc3BsYXkgc21hbGwgcGllY2UncyBvZiBkYXRhIHdpdGggYSBsYWJlbCBhcyBhIHByZWZpeC5cclxuLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnV0dG9uLCAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0IHtcclxuICAgICNwcm9kdWN0LWluZm8tbGVmdCB7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICAvL1JlbW92ZSBxdWFudGl0eSBzZWxlY3RvciBsYWJlbCBmb3Igc2xpZGVyLlxyXG4gICAgLnNsaWRlIC5sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYWRkQnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgIH1cclxuXHJcbiAgICAjcHJvZHVjdC1ub3RlcyB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1ub3Rlcy1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1ub3Rlcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9kdWN0LXJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYmJlZC1yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2FsdGVybmF0aXZlLW9wdGlvbnMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWFsdC1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktYmFza2V0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgb3JkZXI6IDQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktYnV5LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIyO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xyXG4gICAgICAgICYgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29uIHtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICYuaGF6LWNhdC10b3hpYyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtYWN1dGUtdG94aWNpdHktaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWdhcyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWNvcnJvc2l2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtY29ycm9zaXZlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZW52aXJvbm1lbnRhbC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZXhwbG9zaXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWZsYW1tYWJsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZmxhbW1hYmxlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1vem9uZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtaGFybWZ1bC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtb3hpZGlzaW5nIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWhlYWx0aCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtc2VyaW91cy1oZWFsdGgtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb25zLWNvbnRhaW5lciwgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBHZW5lcmljIG11bHRpLWxpbmUgY29udGFpbmVyIC0tLS0tXHJcbi8vIFVzZWQgZm9yIGluZm9ybWF0aW9uIHN1Y2ggYXMgbm90ZXMgJiBzcGVjaWZpY2F0aW9ucy5cclxuLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5tdWx0aS1saW5lLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgIGgyLCBoMywgaDQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubXVsdGktbGluZS1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICB1bCwgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICAgICAgLy9saW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByb2R1Y3Qtbm90ZXMge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAjeyRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nfTtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAjeyRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nfTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoLnJlYWQtbW9yZS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICAgICAgIC8vIFRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRoZSBKYXZhU2NyaXB0IG9uY2UgaW5pdGlhbGlzZWQuXHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFNwZWNpZmljYXRpb24gICggYnVsbGV0IGxpc3QgKSAtLS1cclxuI3NwbGl0LXNwZWNpZmljYXRpb24ge1xyXG4gICAgdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcbiAgICBsaSwgcCwgYSwgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRzcGVjaWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc3BlY2lmaWNhdGlvbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG4uc3BsaXQtc3BlY2lmaWNhdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7ICBcclxufVxyXG5cclxuI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuICAgIC8vIEBpbmNsdWRlIHByaWNlKCk7XHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gKiogRG8gbm90IHNldCB3aWR0aCBvdGhlcndpc2UgdGhpcyB3aWxsIGNhdXNlIHN0b2NrbGluZSBwcmljZSB0byBwcmUtbWF0dXJlbHkgd3JhcCwgcmV2ZXJzaW5nIHRoaXMgY2hhbmdlIGZvciB3aG9sZXNhbGUgYXMgdGhlaXIgb3ZlcmFsIHByaWNlIHN0eWxpbmcgaXMgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gb3RoZXIgZXhwcmVzcyBzaXRlcy5cclxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBQcmljZXMgb3JkZXJpbmcuXHJcbiAgICAucnJwIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrLXByaWNlIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAucGFjay1zaXplIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWNrLWl0ZW0tcHJpY2Uge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNhdmluZyB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgJiArIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTBweCAwICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nO1xyXG4gICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgLy8gVXNlIHRoZSBvbGQgc3R5bGluZyBwcmUtcHJvZHVjdCBwYWdlIHJlZmFjdG9yLlxyXG4gICAgICAgIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMjVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGQtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAvLyAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGdhcDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LW9wdGlvbmFsLWV4dHJhcy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRmF2b3VyaXRlcyAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWZhdm91cml0ZXMtY29udGFpbmVyIHtcclxuICAgIC5mYXZvdXJpdGVzIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIFF1YW50aXR5IFByaWNlIEJyZWFrIE1vZHVsZSAtLS0tLS1cclxuI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy93aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDAgNDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctc2F2ZS1hbW91bnQtY29sb3VyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLW1hcmdpbjtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBwYWRkaW5nIHRvIGJyaW5nIGhlYWRpbmcgdGV4dCBpbiBjbG9zZXIgYXMgaXQgd2FzIGxvb2tpbmcgYSBiaXQgZGlzLWpvaW50ZWQgd2l0aCB0aGUgdGFibGUgY29udGVudCAoIHRoaXMgaXMgc3R5bGVkIGNvbXBsZXRlbHkgZGlmZmVyZW50IGZvciBlZ3BsICkuXHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSB0YWJsZSBwcmVzZXQtMSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtc3VwcHJlc3MtaGVhZGVyLWdhcCkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgJi5zYXZpbmdzLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXNhdmluZy1jb2wtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1wZXItaXRlbS1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2F2aW5ncy1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBlbnF1aXJ5IHByaWNpbmcgLS0tIFxyXG4vLyBTaW5nbGUgaXRlbVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcclxuICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje3NtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAtLXByaWNlLW1heC13aWR0aDogI3ttZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7bGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0b2NrbGluZXMgLyBHcm91cFxyXG4ucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xyXG4gICAgLy8gQmVjYXVzZSB0aGVyZSBpcyBzdWNoIHZhcmlhdGlvbiBpbiBwcmljaW5nIGdvaW5nIHdpdGggYSBtb3JlIGZyZWUtZm9ybSBhcHByb2FjaC5cclxuICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xyXG4gICAgLnByaWNlcyAucHJpY2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7c21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIHZhcigtLXByaWNlLW1heC13aWR0aCkpKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAkZ3V0dGVyczogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMikgLyAyKTtcclxuICAgICAgICAgICAgLy8gU2V0IDE5MHB4IGFzIG1pbiBzaXplIHRvIGFsbG93IGZvciAyIGNvbHVtbiB0YWJsZXQgdmlldy5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje21lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gI3skZ3V0dGVyc30pKSk7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICRndXR0ZXJzOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgLy8gU2V0IDE5MHB4IGFzIG1pbiBzaXplIHRvIGFsbG93IGZvciAyIGNvbHVtbiB0YWJsZXQgdmlldy5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje2xhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAjeyRndXR0ZXJzfSkpKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLWdyb3VwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgLy8gSWYgdGhpcyBtb2R1bGUgZG9lcyBub3QgY29udGFpbmVyIGFueSBjaGlsZHJlbiB0aGVuIGRpc3BsYXk6IG5vbmU7IG90aGVyd2lzZSB0aGUgZ2FwICsgc2VwZXJhdG9yIGlzIHN0aWxsIHNob3duLCA6ZW1wdHkgZG9lc24ndCB3b3JrIGhlcmUgYXMgdGhhdCBkb2Vzbid0IGluY2x1ZGUgd2hpdGVzcGFjZS5cclxuICAgICAgICAgICAgJjpub3QoOmhhcygqKSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhhcyggKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKikge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKCN7c3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAxKX0gLyAyICogLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJGxhcmdlci1tb2JpbGUtYnJlYWtwb2ludDogKHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCkgKiAyKSArIHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMikgKyAkZ3JpZC1jb250YWluZXItcGFkZGluZztcclxuICAgICAgICAgICAgLy8gQmVzcG9rZSBicmVha3BvaW50IGFzIHRoaXMgcnVsZSBjaGFuZ2VzIG1pZCBtb2JpbGUgYnJlYWtwb2ludCBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGFyZ2VyLW1vYmlsZS1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgICAgICAmOmhhcyggKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKikge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoI3tzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIsIG1lZGl1bSl9IC8gMiAqIC0xKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmLnJycCwgJi5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucnJwICsgLnNhdmluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnByaWNlLCAmLmdyb3VwLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBCZSBpbmNvbnNpc3RlbnQgd2l0aCBvdGhlciBwcmljaW5nIGFuZCBhbGxvdyB0aGUgdmFsdWUgdG8gYWxpZ24gdG8gdGhlIGxlZnQgZHVlIHRvIHRoZSBmb250LXNpemUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC52YXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcge1xyXG4gICAgLmNhc2UtcHJpY2Uge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jYXNlLXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgcHJpY2UoKTtcclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLmRlbGl2ZXJ5LWNvdW50ZG93bi1jb250YWluZXIgW2RhdGEtY291bnRkb3duLXRpbWVdIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHsgXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmLmFjdGl2ZSAge1xyXG4gICAgICAgICAgICAudGh1bWJuYWlsIGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1hY3RpdmUtb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGFjdGl2ZS1jbGljayk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSg4MCUsIDU1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudmlkZW8tdGh1bWJuYWlsIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBib3JkZXItdG9wOiAkcHJvZHVjdC1ncm91cGVkLXNlY29uZC1pdGVtLWJvcmRlci10b3A7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEsID4gc3BhbiwgPiBwLCA+IGRpdiB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsIHNwYW4ge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCB7XHJcbiAgICAuYWRkaXRpb25hbC1pbWFnZS14IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkbW9kdWxlcy1ncmlkLWd1dHRlciwgc21hbGwpIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKSAgLyAyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pICAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpICAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTW9iaWxlIGxheW91dC5cclxuICAgIC5zbWFsbC11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUYWJsZXQgbGF5b3V0LlxyXG4gICAgLm1lZGl1bS11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEZXNrdG9wIGxheW91dC5cclxuICAgIC5sYXJnZS11cC0xIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDIsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC00IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDUsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBTdG9jayBsaW5lcyAtLS0tLSBcclxuLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcCk7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wge1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJHN0b2NrbGluZS1hdHRyaWJ1dGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb24udW5hdmFpbGFibGUtb3B0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc3RvY2tsaW5lLW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgdW5hdmFpbGFibGUpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3RvY2tsaW5lLW9wdGlvbi1jb2xvdXIsIHVuYXZhaWxhYmxlKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsLCAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICBjb2xvcjogJHN0b2NrbGluZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2tsaW5lLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9ja2xpbmUtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZS1kaXNwbGF5IHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBnZXRzIGNhbGxlZCBpbiBAY21zLWxpc3RzIHdoaWNoIGdldHMgY2FsbGVkIGluIHRoZSBhY2NvcmRpb24tdGFicyBzdHlsZXMuXHJcbi8vIC50YWJiZWQtbm90ZXMtY29udGFpbmVyLCAudGFiYmVkLWNtcy1lbnRyeSB7XHJcbi8vICAgICB1bCB7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuI3Byb2R1Y3QtaW5mby1sZWZ0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBUYWJzIC8gQWNjb3JkaW9uIGFyZWEgLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktdGFicy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJldmlvdXNseSBwdXJjaGFzZWQgLS0tIFxyXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW4pO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICBib3JkZXI6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci13aWR0aCBzb2xpZCAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItY29sb3VyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYmFja2dyb3VuZDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KSA9PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZXctb3JkZXItbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci00LCAwKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXZpZXctb3JkZXItYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAwIDAgMCAoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaXRlbS1zcGFjaW5nICogMi4xKTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgLy8gQmFzaWNhbGx5IHRoaXMgaXMgYSBoZWFkaW5nIHJvdy5cclxuICAgICAgICAgICAgJltjb2xzcGFuPVwiMlwiXSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgICRtZ2M6IDByZW07XG4gICAgICB9XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWd9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRtZ2M6IHJlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKTtcbiAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLy0tLS0tIEJhc2tldCAtLS0tLSBcclxuLy8gVE9ETzogVGhpcyBjb3VsZCBkbyB3aXRoIGJlaW5nIHJlbW92ZWQgYXQgc29tZSBwb2ludC5cclxuJGJhc2tldEhlYWRCb3JkZXJDb2xvdXI6ICRjb2xvdXIzLTM7XHJcbiRiYXNrZXRCb2R5Rm9udFNpemU6IDE0cHg7XHJcbiRiYXNrZXRCb2R5RGVzY3JpcHRpb25Gb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlRdWFudGl0eUZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keVN1YlRvdGFsRm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5Q29sb3VyOiAkY29sb3VyMy0zO1xyXG4kYmFza2V0Qm9keUNvZGVDb2xvdXI6ICRiYXNrZXRCb2R5Q29sb3VyO1xyXG4kYmFza2V0Qm9keVF1YW50aXlDb2xvdXI6ICRiYXNrZXRCb2R5Q29sb3VyO1xyXG4kYmFza2V0Qm9keVJlbW92ZUNvbG91cjogJGNvbG91cjMtMztcclxuXHJcbiNiYXNrZXQtZm9ybSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtdGFibGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgQGluY2x1ZGUgb3JkZXItdGFibGUoKTtcclxuICAgIC8vIFN1cHByZXNzIG1vYmlsZSBsYWJlbHMgYXMgdGhleSdyZSBub3QgcmVhbGx5IHJlcXVpcmVkLlxyXG4gICAgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wsIC5iYXNrZXQtY29kZS1jb2wsIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmltYWdlLWNvbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBncmlkLXJvdzogc3BhbiA0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyLjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy93aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0Ym9keS1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xyXG4gICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICBncmlkLXJvdzogNDtcclxuICAgIH1cclxuICAgIC5hZGQtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogNTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOC45JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkVG9CYXNrZXQuaWNvbiwgLmJhc2tldC1hZGQtYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCYXNrZXQgdGFibGUgc3R5bGVzLlxyXG4vLyB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3Rvci5cclxudGFibGUuYmFza2V0LXRhYmxlLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIHJ1bGUgc2V0IGJ5ICNiYXNrZXQtdGFibGUgYXMgbmV3IGRlc2lnbiA4MjEyMjkgY2FsbCdzIGZvciBsYWJlbHMuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJbXBsZW1lbnRpbmcgYSBuZXN0ZWQgZ3JpZCwgdGhpcyBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IgYXMgdGhlIGltYWdlIHNob3VsZCBoYXZlIGl0cyBvd24gY29sdW1uLlxyXG4gICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRoaXMgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yIGFzIHRoZSBncmlkIHdpbGwgZGljdGF0ZSB0aGUgc2l6ZSBvZiB0aGUgdGltZSBpbWFnZS5cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyBuZWVkIHRvIGZpdCB0aGUgaW1hZ2UgZXhhY3RseSBkdWUgdG8gYXBwbHlpbmcgYSB3aGl0ZSBiYWNrZ3JvdW5kIGZvciBwbmcgaW1hZ2VzLlxyXG4gICAgICAgICAgICAvLyBIYWNreSBidXQgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yLlxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sLCAuYmFza2V0LXByaWNlLWNvbCwgLmJhc2tldC1xdWFudGl0eSwgLmJhc2tldC1zdWItdG90YWwtY29sLCAuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtcmF0ZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1zdWItdG90YWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDY7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYXNrZXQtc3RpY2t5LXN1bW1hcnktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2Jhc2tldCB7XHJcbiAgICAuYmFza2V0LWl0ZW0tcm93IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEZWxpdmVyeSBBcmVhIFNlbGVjdG9yXHJcbiAgICAjYmFza2V0LWRlbGl2ZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFza2V0LWRlbGl2ZXJ5LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogJGJhc2tldC1kZWxpdmVyeS1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LWRlbGl2ZXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1kZWxpdmVyeSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJhc2tldC1kZWxpdmVyeS1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgJjpoYXMoLnNlcGVyYXRvcjpub3QoOmVtcHR5KSkge1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgJi5pbnZhbGlkIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1wYWRkaW5nLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1jb2xvdXIsICRjaGVja291dC1zYWdlcGFnZS1idXR0b24tYm9yZGVyLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtc2l6ZSwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtd2VpZ2h0LCAod2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICNjb250aW51ZS1zaG9wcGluZy1idXR0dG9uIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciwgLnN1bW1hcnktaXRlbSB7XHJcbiAgICAmICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAmLnZvdWNoZXIge1xyXG4gICAgICAgIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC12b3VjaGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZhdCB7XHJcbiAgICAgICAgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXZhdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiBuby13cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWludmFsaWQtY29udGFpbmVyICsgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnB1dCB7XHJcbiAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXN1bW1hcnktaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdCB7XHJcbiAgICAgICAgJi5hcHBseSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMnB4LCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91ciwgKCksICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplLCBcIlwiLCAod2lkdGg6IGF1dG8pLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZW1vdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTJweCwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1yZW1vdmUtYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyLCAoKSwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemUsIFwiXCIsICh3aWR0aDogYXV0byksIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFN1bW1hcnkgd2FybmluZyBjb250YWluZXIgLS0tIFxyXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi53YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4kYmFza2V0LWNvbnRyb2xzLWdhcDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pO1xyXG5cclxuI2Jhc2tldC1jb250cm9scyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMjBweCAwIDM1cHg7XHJcbiAgICBnYXA6IHNwYWNpbmctdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXAsIDEpIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XHJcbiAgICAgICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwLCAxLCBsYXJnZSkgMDtcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51cGRhdGUtYmFza2V0IHtcclxuICAgICAgICAkYmFza2V0LXVwZGF0ZS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdXBkYXRlKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgICAgICAgICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91ciksXHJcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91cilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgICAgICAgICBzaXplOiAkYmFza2V0LXVwZGF0ZS1pY29uLXNpemUsICBcclxuICAgICAgICApO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LXVwZGF0ZS1idXR0b24tcGFkZGluZywgJGJhc2tldC11cGRhdGUtYnV0dG9uLWJhY2tncm91bmQsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIsICgpLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tZm9udC1zaXplLCAkYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQsIGhlaWdodDogYXV0bywgbWF4LWhlaWdodDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkYmFza2V0LXVwZGF0ZS1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuZW1wdHktYmFza2V0IHtcclxuICAgICAgICAkYmFza2V0LWVtcHR5LWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogKFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgICAgICAgICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhc2tldC1ybS1hbGwtY29sb3VyKSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFza2V0LXJtLWFsbC1jb2xvdXIpXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgICAgICAgICAgc2l6ZTogJGJhc2tldC1yZW1vdmUtYnV0dG9uLWljb24tc2l6ZSwgIFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEwcHggMzBweCwgJGJhc2tldC1ybS1hbGwtYmFja2dyb3VuZCwgJGJhc2tldC1ybS1hbGwtY29sb3VyLCAoKSwgJGJhc2tldC1yZW1vdmUtYWxsLWZvbnQtc2l6ZSwgJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGJhc2tldC1lbXB0eS1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgIH1cclxuICAgIC5zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFza2V0LXRvdGFsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNrZXQtdG90YWwtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBmb250LXdlaWdodDogJGJhc2tldC10b3RhbC1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC10b3RhbC1mb250LXNpemUpO1xyXG4gICAgQGlmICgkYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmJhc2tldC10b3RhbC1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdGlja3kgc3R5bGVzLlxyXG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vZGlzcGxheTogZmxleDtcclxuICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6ICRiYXNrZXQtc3VtbWFyeS1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCRiYXNrZXQtc3VtbWFyeS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3RpY2t5LlxyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFuY2hvcmVkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLmlzLWF0LXRvcCB7XHJcbiAgICAgICAgICAgIC8vIEluIHNvbWUgaW5zdGFuY2VzIHdoZW4gcmV0dXJuaW5nIHRvIHRoZSBiYXNrZXQgZnJvbSBhbm90aGVyIHBhZ2Ugd2hlbiBvbmx5IG9uZSBpdGVtIGlzIGluIHRoZSBiYXNrZXQgdGhlIHN0aWNreSBwbHVnaW4gd291bGQgYXNzaWduIHRoZSBtYXJnaW4tdG9wIHZhbHVlIGV2ZW4gd2hlbiBpdCBzaG91bGQgYmUgYW5jaG9yZWQgdG8gdGhlIHRvcCBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICN2b3VjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZ29vZHMtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICNuZXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA3O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogODtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICAjdm91Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogODtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI25ldC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLy8gJjphZnRlciB7XHJcbiAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGlmICgkYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6ICRjb21tb24tYnV0dG9uLXdvcmQtc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvbG91cjtcclxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1oaWdobGlnaHRlZC1pdGVtLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgJi52YWx1ZSwgJi5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5jVmF0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktdG90YWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogMzBweCA3cHggMCAwO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNkZWxpdmVyeS1zZWxlY3RvciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICAgIHNlbGVjdCwgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmRlbGl2ZXJ5LWxhYmVsIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVsaXZlcnktc2VydmljZSwgLmRlbGl2ZXJ5LWFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZWxpdmVyeS1zZXJ2aWNlIHtcclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG5cclxuLy8gLS0tLS0gWW91ciBBY2NvdW50IHBhZ2UgLS0tLS1cclxuXHJcbi5saW5rLWZhaWxlZC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgNTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5saW5rLWZhaWxlZC1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgIGNvbG9yOiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgLy8gRGVmYXVsdCBpY29uLlxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGVmYXVsdC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdXN0b21lci1hc3NldHMsICYuZnVuY3Rpb24tMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciwgJi5mdW5jdGlvbi0yIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYnJhbmNoLXN3aXRjaGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYWxscywgJi5mdW5jdGlvbi0zIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLWNhbGxzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzLCAmLmZ1bmN0aW9uLTQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250YWN0LXByZWZlcmVuY2VzLCAmLmZ1bmN0aW9uLTUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjb250YWN0LXByZWZlcmVuY2VzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRyYWN0LWl0ZW1zLCAmLmZ1bmN0aW9uLTYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjb250cmFjdC1pdGVtcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXJ2aWNlLWNvbnRyYWN0cywgJi5mdW5jdGlvbi03IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc2VydmljZS1jb250cmFjdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncywgJi5mdW5jdGlvbi04IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWxzbyBzdXBwb3J0IGZvciB2ZXJzaW9uIGlmIG5lZWRlZCwgdGhpcyB3aWxsIGJlIGFkZGVkIHVzaW5nIGFuIGFkZGl0aW9uYWwgY2xhc3MgLnZlcnNpb24teC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbmxpbmUtZG9jdW1lbnRhdGlvbiwgJi5mdW5jdGlvbi0xMCwgJi5mdW5jdGlvbi0zNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG9ubGluZS1kb2N1bWVudGF0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mYXZvdXJpdGVzLCAmLmZ1bmN0aW9uLTExIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZmF2b3VyaXRlcyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpvYnMsICYuZnVuY3Rpb24tMTIge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQsICYuZnVuY3Rpb24tMTMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBsb2dvdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICAmLm5ld3MsICYuZnVuY3Rpb24tMTQge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi52aWV3LW9yZGVycywgJi5mdW5jdGlvbi0xNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHZpZXctb3JkZXJzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzLCAmLmZ1bmN0aW9uLTE3IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheW1lbnQtcmVxdWVzdHMsICYuZnVuY3Rpb24tMTgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBwYXltZW50LXJlcXVlc3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvd25sb2FkLXByaWNlLWxpc3RzLCAmLmZ1bmN0aW9uLTE5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucXVlc3Rpb25uYWlyZXMsICYuZnVuY3Rpb24tMjAge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZWNlbnRseS1wdXJjaGFzZWQsICYuZnVuY3Rpb24tMjEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCByZWNlbnRseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1saXN0LCAmLmZ1bmN0aW9uLTIyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc2l0ZS1saXN0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC13ZWItYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzLCAmLmZ1bmN0aW9uLTIzIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RhdGVtZW50LCAmLmZ1bmN0aW9uLTI0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgc3RhdGVtZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zLCAmLmZ1bmN0aW9uLTI1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLWJhc2tldCwgJi5mdW5jdGlvbi0yNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGJhc2tldC11cGxvYWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLW9yZGVycywgJi5mdW5jdGlvbi0yNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG9yZGVyLXVwbG9hZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtdXNlcnMsICYuZnVuY3Rpb24tMjgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtdXNlcnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZW1wbG95ZWUtc3RhdHVzLCAmLmZ1bmN0aW9uLTI5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZW1wbG95ZWUtc3RhdHVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSwgJi5mdW5jdGlvbi0zMCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTWljcm9zb2Z0IFN1YnNjcmlwdGlvbnMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1pY3Jvc29mdC1zdWJzY3JpcHRpb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVCcmFuZHM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDYWxsIFN0YXRpc3RpY3MuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNhbGwtc3RhdGlzdGljcyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBZ2dyZWdhdGVkIEFzc2V0cy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFZpZGVvcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTM0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZWNlbnQgc29mdHdhcmUgdXBkYXRlcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTM1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBIb3cgbXVjaCBzaG91bGQgd2Ugc2NhbGUgdGhlIGljb25zIHdoZW4gbmVzdGVkIGluIGEgbWVudS5cclxuJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGU6IDEuNTtcclxuXHJcbi5tZW51IHtcclxuICAgIC8vIElmIGluc2lkZSBvZiBhIG1lbnUgdGhlbiBzY2FsZSBpY29ucyBkb3duLlxyXG4gICAgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIC5wYWdlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkZWZhdWx0KSAvICRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpIC8gJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgLy8gQ2FudCB1c2UgZm91bmRhdGlvbidzIGdyaWQgYXMgeCAmIHkgZ3V0dGVycyBhcmUgbm90IGVxdWFsIGluIHRoZSBkZXNpZ24uXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJi5zaXRlLXN0eWxlIHtcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBCcmFuZGluZyBmcm9tIHNpdGUgc3R5bGUuXHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICN7KCRhY2NvdW50LXNlY3Rpb24taXRlbS1wYWRkaW5nIC0gJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aCl9O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICN7aG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cil9O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAvLyBTaHJpbmsgdGhlIGRlc2NyaXB0aW9uIHRvIGZpdCBpbiBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWZvbnQtd2VpZ2h0LCBhY2NvdW50LXBhZ2UpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIC8vIEVuZm9yY2UgZm9udC13ZWlnaHQgNDAwIGFzIG91ciBmb250ZWxsbyBsaWJyYXJ5IG9ubHkgaGFzIG9uZSB3ZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICN7ZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyKX07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEZ1bmN0aW9uIHNwZWNpZmljIHJ1bGVzLlxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkZWZhdWx0KTtcclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHMsICYuZnVuY3Rpb24tNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHMsICYuZnVuY3Rpb24tMTcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi05IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tMzUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dCwgJi5mdW5jdGlvbi0yOSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGxvZ291dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51IHtcclxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgICAgICAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYWNjb3VudC1wYWdlLWdyaWQge1xyXG4gICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgcGFkZGluZzogJGFjY291bnQtcGFnZS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1wYWdlLWl0ZW0tYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY29udHJhY3QtaXRlbXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZhdm91cml0ZXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGZhdm91cml0ZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZpZXctb3JkZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB2aWV3LW9yZGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVjZW50bHktcHVyY2hhc2VkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCByZWNlbnRseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdGF0ZW1lbnQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHN0YXRlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLXVzZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtdXNlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsICYuYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgYnJhbmNoLXN3aXRjaGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250YWN0LXByZWZlcmVuY2VzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjb250YWN0LXByZWZlcmVuY2VzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaXN0b3JpY2FsLXRyYW5zYWN0aW9uczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHVwbG9hZC1iYXNrZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHVwbG9hZC1vcmRlcilcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGxvZ291dCk7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5tYW5hZ2UtY2FsbHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS1jYWxscyk7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgc2VydmljZS1jb250cmFjdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXltZW50LXJlcXVlc3RzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHBheW1lbnQtcmVxdWVzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWxpc3Qge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9ubGluZS1kb2N1bWVudGF0aW9ue1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgb25saW5lLWRvY3VtZW50YXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtc29ydGluZy1vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAkYWNjb3VudC1zb3J0aW5nLW1hcmdpbjtcclxuICAgIH1cclxuICAgIC5zb3J0LW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDpcclxuICAgICAgICAgICAgYXV0bztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLWZpbHRlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzZWxlY3QsIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBhZ2luYXRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAubGFiZWwsIC5wYWdpbmF0aW9uTGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5zb3J0LWJ5LWRheXMtc2VsZWN0IHsgXHJcbi8vICAgICBtaW4td2lkdGg6IDE3MHB4O1xyXG4vLyB9XHJcblxyXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAyMzVweDtcclxuICAgIH1cclxuICAgICYuY2VudGVyLWJ1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFZpZXcgT3JkZXIgLS0tLS0gXHJcbi5vcmRlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfSBcclxuICAgICYgKyAucmVzcG9uc2l2ZS10YWJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBQYXlwYWwgY2hlY2tvdXQgY29uZmlybWF0aW9uLlxyXG4gICAgJi5wYXltZW50LWNvbmZpcm1hdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7KHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyKSAvIDIpfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI29yZGVyLXRhYmxlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDk3MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgICNvcmRlci10YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3JkZXItdGFibGUoKTtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4O1xyXG4gICAgfVxyXG4gICAgI2Jhc2tldC1zdW1tYXJ5IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAvLyBTdXByZXNzaW5nIGFzIHRoaXMgY2FuIGJlIGRvbmUgdXNpbmcgZ2FwIHNwYWNpbmcgaW4gZmxleGJveC5cclxuICAgIC8vIC5vcmRlci1kZXRhaWxzICsgLm9yZGVyLWRlbGl2ZXJ5IHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgI2Jhc2tldC1zdW1tYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDVweCAwO1xyXG4gICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmlldy1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy13aWR0aCk7XHJcbiAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheWVyLWRldGFpbHMge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nKVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nLCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDAgMCA1cHg7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IHNvbGlkICN7JGhlYWRpbmctcnVsZS1jb2xvdXJ9O1xyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIGEuZWRpdCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZXRhaWwtaXRlbS1jb250YWluZXIsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIFN1cHByZXNzaW5nIGluZmF2b3VyIG9mIHRoZSBnYXAgcHJvcGVydHkuXHJcbiAgICAvLyBtYXJnaW46IDVweCAwO1xyXG4gICAgLy8gSWYgbm8gdmFsdWUgdGhlbiBzdXBwcmVzcyBhbHRvZ2V0aGVyLlxyXG4gICAgJjpoYXMoPiBwOmVtcHR5KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIC8vIEFsbCBhbmNob3IncyBzaG91bGQgYXBwZWFyIG9uIGEgbmV3IGxpbmUgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgYWRkcmVzcyB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4uYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgY29sb3I6ICRwcmljZS1kcm9wLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1kcm9wLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1kcm9wLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJpY2UtZHJvcC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjBkZCc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaWNlLWRyb3AtYXJyb3ctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub3JkZXItZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbiAgICAvLyBTdXBwcmVzc2luZyB3aWR0aCBvbiB0aGUgY29udGFpbmVyIGlzIG5vdCBhbiBvcHRpb24gZHVlIHRvIGZvdW5kYXRpb24ncyBncmlkIHVzaW5nIHJlbGF0aXZlIHZhbHVlcyB3aGVuIGNhbGN1bGF0aW5nIGNlbGxzIHdoaWNoIGNhdXNlcyB0aGUgY2VsbHMgdG8gc2hyaW5rIGlmIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaXQgYSByb3cuXHJcbiAgICAuZ3JpZC14IHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tzbWFsbC12YWx1ZSgkZ3JpZC1tYXJnaW4tZ3V0dGVycyl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3ttZWRpdW0tdmFsdWUoJGdyaWQtbWFyZ2luLWd1dHRlcnMpfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdXBwcmVzc2luZyBkdWUgdG8gc3RvcHBpbmcgdGhlIGhlaWdodCBmcm9tIG1hdGNoaW5nIGdlbmVyYWwgLyBkZWxpdmVyeSBkZXRhaWxzIG9uIHRoZSB2aWV3IG9yZGVyIC8gY29udHJhY3QgZW5xdWlyeSBwYWdlcy5cclxuLy8gI2Jhc2tldC1zdW1tYXJ5LnJlYWQtb25seSB7XHJcbi8vICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcclxuLy8gfVxyXG5cclxuLy8gUmVxdWlzaXRpb24gYnV0dG9uc1xyXG4ucmVxdWlzaXRpb24tYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlbGl2ZXJ5IEVucXVpcnkgLS0tLS0gXHJcbi5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWFuYWdlIFVzZXJzIC0tLS0tIFxyXG4udXNlcnMtZm91bmQtY291bnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLWZvdW5kLWZvbnQtc2l6ZSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkdXNlcnMtZm91bmQtY291bnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuI3VzZXJzLXRhYmxlIHtcclxuICAgIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy10Ym9keS1mb250LXNpemUpO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNlcnMtdGJvZHktY29udGFjdC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHVzZXJzLXRib2R5LWNvbnRhY3QtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLnVzZXJzLWFjY291bnQtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1lbWFpbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtZGVsZXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC51c2Vycy1lbWFpbC1jb2wsIC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIC8vIH1cclxuICAgIC51c2Vycy1kZWxldGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlbW92ZS11c2VyLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgaGVpZ2h0OiAkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucyAvIDEuMSkpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFZpZXcgLyBFZGl0IHVzZXIgLS0tIFxyXG4ubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlY29uZGFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4jc2VsZWN0LWJyYW5jaGVzLXRhYmxlIHtcclxuICAgIG1heC13aWR0aDogJHVzZXJzLXBvcHVwLXRhYmxlLW1heC13aWR0aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtcG9wdXAtdGFibGUtYnJhbmNoLWNvbC1mb250LXNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGxvdy1sb2dpbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNYW5hZ2UgUGF5bWVudCBDYXJkcyAtLS0tLSBcclxuI3Rva2Vucy10YWJsZS5wYXltZW50IHtcclxuICAgIC8vIC5jYXJkLXNlbGVjdC1jb2wge1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgLy8gfVxyXG4gICAgLmNhcmQtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmNhcmQtbnVtYmVyLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcblxyXG59XHJcblxyXG4jdG9rZW5zLXRhYmxlLCAudG9rZW5zLXRhYmxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgLy8gfVxyXG4gICAgdHIge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuY2FyZC10eXBlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtY2FyZC10eXBlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLWV4cGlyZWQge1xyXG4gICAgICAgICAgIC5jYXJkLXR5cGUtY29sLCAuY2FyZC1udW1iZXItY29sLCAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybzsgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jYXJkLXR5cGUtY29sLCAuY2FyZC1udW1iZXItY29sLCAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5jYXJkLXNlbGVjdC1jb2wge1xyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHRva2Vucy10YWJsZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0b2tlbnMtdGFibGUtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0ZWQtY2FyZCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuLm5vLXRva2Vucy1mb3VuZCB7XHJcbiAgICBtYXJnaW46IDUwcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwMHB4IDA7XHJcbiAgICB9XHJcbiAgICAubm8tdG9rZW5zLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGF5bWVudC1jYXJkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYXltZW50LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuLm1vZGFsLWNvbnRhaW5lclt0eXBlPXNlbGVjdC1wYXltZW50XSB7XHJcbiAgICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNhdmUtY2FyZC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcGF5bWVudC1mcmFtZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuLy8gLS0tLS0gU3RhdGVtZW50IFBhZ2UgLS0tLS0gXHJcbi5zdGF0ZW1lbnQtbGlzdC1jb250YWluZXIsIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XHJcbiAgICAmLmluLWFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcbi5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMiUgMjBweCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RhdGVtZW50LWJhbGFuY2UtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkc3RhdGVtZW50LWJhbGFuY2UtY29sb3VyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG4uc3VtbWFyeS1jb250YWluZXIuc3RhdGVtZW50LCAuc3VtbWFyeS1jb250YWluZXIuYWNjb3VudC1wYXltZW50LXN1bW1hcnkge1xyXG4gICAgLnN1bW1hcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRyYW5zYWN0aW9uLXR5cGUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIC5kaXJlY3QtZGViaXQtaWNvbiB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyAgICAgICAgIHJpZ2h0OiA2JTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi8vIFByaW1hcnkgdXNlZCBvbiB0aGUgc3RhdGVtZW50IHBhZ2UuXHJcbi5kaXJlY3QtZGViaXQtaWNvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkaXJlY3QtZGViaXQpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VydmljZSBDb250cmFjdHMgLS0tLS0gXHJcbnRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV4dC1kdWUtZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC55b3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2t1LXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtdmFsdWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jb250cmFjdC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LWdyb3VwLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOS44JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZnJlcXVlbmN5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOC41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGF5bWVudC1tZXRob2QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGVybWluYXRpb24tZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWxhbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbmV3YWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50dWJzLXJlbmV3LWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByaW1hcnktYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIE9yZGVyIHN0YXR1cyB0YWJsZSAtLS0gXHJcbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHtcclxuICAgIC5pdGVtLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIC8vIFB1dHRpbmcgdGhpcyBpbiB0byBoYW5kbGUgbG9uZyByZWZlcmVuY2VzIGluIHRoZSBhY2NvdW50IGFyZWEuXHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTQlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnZvaWNlcy1jb2wsIC5kZWxpdmVyaWVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIERlbGliZXJ5IEVucXVpcnkgVGFibGUgLS0tIFxyXG50YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIHtcclxuICAgIC5pdGVtLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi45NSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGV4cHJlc3MgZGVmYXVsdCBzdHlsaW5nIGFzIGl0IFwiIGFzc3VtZXMgXCIgdGhhdCB0aGUgZGVzY3JpcHRpb24gaXMgYWx3YXlzIHRoZSBmaXJzdCBjb2x1bW4sIHRoaXMgY2FuIGJlIHJlbW92ZWQgb25jZSAjODE1NDY4IGlzIGRvbmUuXHJcbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnlvdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIENvbnRyYWN0cyB0YWJsZSAtLS0gXHJcbnRhYmxlLmNvbnRyYWN0cy10YWJsZSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIC0tLSBUcmFuc2FjdGlvbnMgdGFibGUgLS0tIFxyXG50YWJsZS50cmFuc2FjdGlvbnMtdGFibGUge1xyXG4gICAgLnR5cGUtY29sLCAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCwgLnZhbHVlLWNvbCwgLnN0YXR1cy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCYWNrIHRvIG15IGFjY291bnQgYnV0dG9uIC0tLS0tXHJcbi5hY2NvdW50LXJldHVybi1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksIDApO1xyXG59XHJcblxyXG4vLyAtLS0tLSBQYXltZW50IFJlcXVlc3RzIC0tLS0tIFxyXG50YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIHtcclxuICAgIC5wYXktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2LjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aW1lLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOC41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTguMSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFtb3VudC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwLjglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2l0ZSBMaXN0IC0tLS0tIFxyXG5cclxuLy8gLS0tIENvbW1vbiAtLS1cclxuLnNpdGUtbGlzdC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdCBpY29uIGlmIHRoaXMgaXMgbm90IGFuIGV4cHJlc3Mgc2l0ZS5cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzaXRlLWxpc3QtYmVzcG9rZS1zaXRlLWljb24pO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuZmFpbGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi51bmtub3duOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdW5rbm93bik7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAmLmNhbmNlbGxlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbmNlbGxlZCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAmLmluLXByb2dyZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaW4tcHJvZ3Jlc3MpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7IFxyXG4gICAgICAgIEBrZXlmcmFtZXMgc3Bpbm5lciB7XHJcbiAgICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4uZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC50aW1lIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHNpdGUtbGlzdC10aW1lLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tdGltZS1tYXJnaW4tbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5wdWJsaXNoLWhpc3Rvcnkge1xyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gSW50ZXJuYWwgLS0tXHJcblxyXG50YWJsZS5zaXRlLWxpc3QtdGFibGUge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgICAgICAgXHJcbiAgICB9XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgcmVzcG9uc2l2ZSB0YWJsZSBydWxlcy4uLlxyXG4gICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgcHJlc2V0LTEgc3R5bGVzLi4uXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgICAgJi5zdGFnaW5nLXNpdGUge1xyXG4gICAgICAgICAgICAuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAjeyhsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpICsgJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aCl9O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSwgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBociB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiwgLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxpY2Vuc2UtY29sLCAucHVibGlzaGluZy1jb2wgIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGFydGVkLWNvbCwgLmVuZGVkLWNvbCwgLmxhc3QtdG91Y2gtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1idXR0b25zLWNvbCB7XHJcbiAgICAgICAgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aW1lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIEV4dGVybmFsICggd2hhdCB0aGUgY2xpZW50IHNlZXMgKSAtLS0gXHJcbi5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdGFnaW5nLXNpdGUge1xyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtbG9nby1tYXJnaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWxvZ28tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLCBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC1zdHlsZTogJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlO1xyXG4gICAgICAgIC8vIHAge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgLy8gfVxyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW47XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICAgLy8gQXNzdW1lIHRoZSBmaXJzdCBzcGFuIHdpbGwgYWx3YXlzIGJlIGEgbGFiZWwuXHJcbiAgICAgICAgJiA+IHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFZhbHVlIFxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIC50aW1lIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogNzRweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIENNUyBTdHlsaW5nIC0tLS0tLSBcclxuLSBTdHlsZSBmb3IgdGhlIGFjdHVhbCBjbXMgcGFnZXMgdGhlbXNlbHZlczpcclxuICAtIENNUyBFbnRyeVxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBDTVMgU2VyaWVzXHJcbi0gQ01TIGVudHJ5IGNvbnRyb2xzXHJcbi0gQ01TIG1vZHVsZVxyXG4tIENNUyBjb250ZW50IGNvbnRhaW5lciwgdGhpcyBnZXQgdXNlZCB0aHJvdWdob3V0IGV4cHJlc3MgZm9yIHZhcmlvdXMgcGllY2VzIG9mIGNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGluIHRoZSB2bWFkbWluJ3MgY21zIHN5c3RlbSB0aGVzZSBibG9jayBvZiBjb250ZW50IGNhbiBsaXRlcmFsbHkgYmUgYW55d2hlcmUgKCBoZWFkaW5ncyBmb3IgcGFnZXMsIGluIHRoZSBmb290ZXIsIGFqYXggcmVzcG9uc2VzICkuXHJcbiovXHJcblxyXG4uZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQge1xyXG4gICAgbWF4LXdpZHRoOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoO1xyXG4gICAgbWFyZ2luOiAjeyRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b20gLSBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKX0gI3tpZigkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlciwgYXV0bywgMCl9ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b207XHJcbiAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDtcclxuICAgIH1cclxuICAgICYuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGYWxsYmFjay5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kaXNwbGF5LWNtcy1zZXJpZXMge1xyXG4gICAgbWFyZ2luOiAyNXB4IDAgMDtcclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBoMywgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5lbnRyeS1jb250ZW50IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRkaXNwbGF5LWNtcy1lbnRyaWVzLWNvbnRlbnQtZm9udC1zaXplKTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFzc2lnbiBjb2xvdXIgc2NoZW1lc1xyXG4gICAgJi5uZXdzIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmlkZW8tcGxheWxpc3QgLmNlbGwgPiBhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jZWxsIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudGFibGUge1xyXG4gICAgICAgIC5jZWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjcwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgdG9wLWJvdHRvbSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgcmlnaHQtbGVmdCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHJpZ2h0LWxlZnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCB0b3AtYm90dG9tKSAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVudHJ5LWNvbnRlbnQgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGNtcy1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ncmlkIHtcclxuICAgICAgICAmLnZpZGVvLXBsYXlsaXN0IHtcclxuICAgICAgICAgICAgJGNlbGwtY29udGVudC1zcGFjaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAuY2VsbCBhIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGNlbGwtY29udGVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZHVyYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRjZWxsLWNvbnRlbnQtc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJsb2cgLmNlbGwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUzMHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ldmVudHMgLmNlbGwge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRjbXMtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jZWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHVibGlzaC1kYXRlIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxN3B4O1xyXG4gICAgfVxyXG59XHJcbi5wdWJsaXNoLWRhdGUge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbn1cclxuLnJlYWQtbW9yZS1hbmNob3Ige1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRyZWFkLW1vcmUtY29sb3VyKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlYWQtbW9yZS1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRyZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSByZWFkTW9yZVN1ZmZpeCgpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgQXJ0aWNsZXMsIFBvc3RzICYgR2VuZXJhbCBFbnRyaWVzIC0tLS0tIFxyXG4uY21zLWVudHJ5LWNvbnRhaW5lciB7XHJcbiAgICAvLyBBZGRlZCBmbGV4Ym94IHRvIGFsbG93IGZvciBuZXdzIGFydGljbGUgYmFubmVyIHRvIHNpdCBhbG9uZyBzaWRlIHRoZSBjbXMgZW50cnkgdGV4dC5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHggNDBweDtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAxMTBweCA3MHB4XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtYXJ0aWNsZSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIG5ld3MpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgbmV3cykge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudCB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgZXZlbnQpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibG9nLXBvc3Qge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBibG9nKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGJsb2cpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBibG9nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBpbmZvcm1hdGlvbikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mb3JtYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5zdHlsZS0xID0gU2ltcGxlIGxheW91dC5cclxuICAgICAgICAmLnN0eWxlLTEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgcnVsZXMgKCBpbXBsZW1lbnRlZCBzcGVjaWZpY2FsbHkgZm9yIHdpbGQgdGhpbmdzICkuXHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBBZGRlZCAxcHggZHVlIElFIG5vdCBmbGV4LWdyb3cnaW5nIHRoZSBjb250YWluZXIgY29ycmVjdGx5LlxyXG4gICAgICAgIGZsZXg6IDEgMXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgICAgICAvL0BpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1pbWFnZS1nYWxsYXJ5KCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWdvb2dsZS1tYXBzLWVtYmVkZGVkKCk7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRjbXMtdGFibGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgZmllbGRzZXQge1xyXG4gICAgICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZmllbGRzZXQtaGVhZGluZy1jb2xvdXIsICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFja2dyb3VuZC1zZWN0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSwgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3OCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdWJsaXNoLWRhdGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gT25seSBhZmZlY3QgZW50cnkgbW9kdWxlcyBhcyB0aGlzIHdhcyBnZXR0aW5nIGluIHRoZSB3YXkgb2YgLmNtcy1idXR0b24tbGluay4uLiBwcm9wZXJ0aWVzLlxyXG4uY21zLWVudHJ5LWNvbnRhaW5lciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUge1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG59XHJcblxyXG5cclxuLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiA0MHB4IDAgMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogdGhpcyBjb3VsZCBiZSByZWZhY3RvcnMgdG8gdXNlIGNvbW1vbi1idXR0b24tMSBtaXhpbiBub3cgdGhhdCB3ZSBzdXBwb3J0IGljb25zIGluIGJ1dHRvbnMuXHJcbiAgICAuY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuICAgIC5wcmV2aW91cy1jbXMtZW50cnkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tcHJldmlvdXMpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXh0LWNtcy1lbnRyeSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1uZXh0KTtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbSA+IDApIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHggMDtcclxuICAgIG1hcmdpbjogMTVweCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDEwcHggMzBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICAkZW50cmllcy1jb250cm9scy1wcmV2aW91cy1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tcHJldmlvdXMpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYmVmb3JlLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDAsXHJcbiAgICAgICAgICAgIGNvbG91cjogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyksXHJcbiAgICAgICAgICAgIHNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgJGVudHJpZXMtY29udHJvbHMtbmV4dC1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tbmV4dCksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpLFxyXG4gICAgICAgICAgICBzaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICBcclxuXHJcbiAgICAgICAgJi5wcmV2aW91cy1lbnRyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmcsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiBmaXQtY29udGVudCwgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRlbnRyaWVzLWNvbnRyb2xzLXByZXZpb3VzLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYubmV4dC1lbnRyeSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmcsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiBmaXQtY29udGVudCwgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRlbnRyaWVzLWNvbnRyb2xzLW5leHQtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtZW50cnktYmFjay1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDIzMHB4KSk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIEluZm9ybWF0aW9uIFBhZ2VzIC0tLS0tIFxyXG4uc2l0ZS1tYXAge1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgID4gdWwgeyBcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6bm90KC5zdXBwcmVzcy1ib3JkZXIpIHtcclxuICAgICAgICA+IHVsIHsgXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yOyBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBJZiBvbmx5IGl0ZW0gdGhlbiBzdXBwcmVzcyBtZWNoYW5pc20gYWxsIHRvZ2V0aGVyLlxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBEbyBub3Qgc2hvdyBzZXBlcmF0b3Igb24gdGhlIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAucGFyZW50IHtcclxuICAgICAgICAgICAgPiBhLCA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1tYXAtcGFyZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzaXRlLW1hcC1wYXJlbnQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyMy0yLCAkcG9pbnRSaWdodCwgMTVweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzNXB4IDAgMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXJlbnQgYSwgdWwgLmNoaWxkID4gYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jbXMtbW9kdWxlIHsgXHJcbiAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRjbXMtcm0tbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtcm0tcGFkZGluZztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWFkLW1vcmUtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXN0eWxlOiAkcmVhZC1tb3JlLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbWFwLWdldCgkY20tcm0tdGV4dC1kZWNvcmF0aW9uLCBkZWZhdWx0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGNtcy1ybS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbWFwLWdldCgkY20tcm0tdGV4dC1kZWNvcmF0aW9uLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSByZWFkTW9yZVN1ZmZpeCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFjay10by1pbmZvcm1hdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMjMwcHgpKTtcclxufVxyXG5cclxuLy8gLS0tLSBDTVMgQ29udGVudCBDb250YWluZXJzIC0tLS0tXHJcbi8vIERFUFJFQ0FURUQsIHlvdSBzaG91bGQgdXNlIC5jbXMtY29udGVudC1jb250YWluZXIgaW5zdGVhZCwgdGhpcyBwcmltYXJ5IGdldHMgdXNlZCBpbiB0aGUgYWNjb3VudCBhcmVhIGFuZCBzaG91bGQgYmUgcmV0cm8tZml0dGVkLlxyXG4uY21zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDEycHggMCA0MXB4O1xyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIElmIHRoZSBjbXMtY29udGVudC1jb250YWluZXIgaXMgd2l0aGluIGEgZGl2IHRoYXQgaGFzIGJhY2tncm91bmQgY29sb3VyIHNldC5cclxuZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0ge1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7IFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyB0aGUgY2xhc3MgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGRlZmluaW5nIGEgY21zIGNvbnRlbnQgYXJlYS5cclxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTsgXHJcbiAgICAvL0BpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpOyAgIFxyXG4gICAgLy8gVGhpcyB3YXMgaW50ZXJmZXJpbmcgd2l0aCBob3cgZm9ybSBjbXMtY29udGVudC1jb250YWluZXJzIHdlcmUgYmUgYXJyYW5nZWQgZm9yIHdpbnRlcnN0b2tlLlxyXG4gICAgLy8gJjpub3QoLmxlZnQtYWxpZ24pIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFtb3VudC1wYWlkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggdGhlIGljb24gYWJvdmUuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFtb3VudC1wYWlkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgLy8gS2VlcCBjb25zaXN0ZW50IHdpdGggdGhlIGljb24gYWJvdmUuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY2VudGVyLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIGFsaW5nbWVudCBmb3IgcWMgZm9yIDgxOTYwNiByZWdhcmRpbmcgdGV4dGRiIGFsaWdubWVudCBmb3IgZW5xdWlyeSBmb3JtIG9uIHNlYXJjaCBwYWdlLlxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgICYuZXJyb3Ige1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIGgyLCBoMywgaDQsIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ndXR0ZXIteSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMnB4IDAgNDFweDsgXHJcbiAgICB9XHJcbiAgICAmLnBhZ2UtaGVhZGluZy1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgIH1cclxuICAgICYubm8tc2lkZS1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgICYub3V0bGluZSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAvLyBNb3ZpbmcgYmFzZSBzdHlsZXMgb3V0IG9mIGNtcy1taXhpbiBkdWUgdG8gY29uZmxpY3RpbmcgcnVsZXMgd2l0aCAqLWJ1dHRvbiBjbGFzc2VzLlxyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsIGRlZmF1bHQtY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cikpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGF0LXJvb3Qgd2FzIG92ZXJyaWRpbmcgZm9vdGVyIHBhcmFncmFwaCBzdHlsZXMuXHJcbiAgICAvLyBAYXQtcm9vdCB7ICBcclxuICAgICAgICBwOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmICsgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBsb2dpbiBwYWdlLlxyXG4gICAgJiArIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59IiwiLy8gLS0tLS0gVEhFIE1BSk9SSVRZIE9GIFRISVMgQ09ERSBTSE9VTEQgQkUgUkUtV1JJVEVOIFdIRU4gV0UgUkUtQlVJTEQgVEhFIENIRUNLT1VUIEFTIElUUyBGUk9NIFRFTVBMQVRFIDEgLS0tLS0gXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4jcG9wdXBPdmVybGF5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIzLTYsIDAuNSk7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0bGVmdDogMDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRvcDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiA1MDAwMDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IFwiIFwiO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdH1cclxufVxyXG4jcG9wdXBDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0Ym9yZGVyLXJhZGl1czogMC4zZW07XHJcblx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbjogMCAyJTtcclxuXHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSArIDIwMCk7XHJcbiAgICB9XHJcblx0Ji5zdGFuZGFyZCB7XHJcblx0XHRtYXgtaGVpZ2h0OiA5MCU7XHJcblx0XHQjcG9wdXBDb250ZW50IHtcclxuXHRcdFx0cGFkZGluZzogMjBweDtcclxuXHRcdFx0LmNvbnRlbnRDb250YWluZXIge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmLnNjcm9sbCB7XHJcblx0XHQjcG9wdXBDb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogOTB2aDtcclxuXHRcdFx0cGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0XHQuY29udGVudENvbnRhaW5lciB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdGxlZ2VuZCB7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDVweDtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcclxuXHR9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgKyAxMDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb25maXJtYXRpb25Db250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4O1xyXG4gICAgfVxyXG5cdC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHRcdFxyXG5cdFx0LnBvcHVwQ2xvc2VCdXR0b24ge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XHJcbiAgICB3aWR0aDogNzBweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG5cdEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbn1cclxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4jY2hlY2tvdXQtY29udGVudC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtRmllbGRDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiNjaGVja291dEZvcm0ge1xyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xyXG4gICAgfVxyXG4gICAgLmNoYW5nZURldGFpbHMge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMTVweDtcclxuICAgIH1cclxuICAgICNjaGVja291dEZvcm1EZXRhaWxzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRjb2xvdXI0LTMsIDAuMik7XHJcbiAgICB9XHJcbiAgICAuY2hlY2tvdXQtZGV0YWlscyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzVweDtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDc1cHggMCAwO1xyXG4gICAgICAgICNjaGVja291dFN1Ym1pdEJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQsIDE1LCA2MDAsIDE1cHggMjVweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplOiA0NHB4O1xyXG5cclxuI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogODAwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICBoMSB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAoJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemUgKiAxLjYpIDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjRmZic7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyMy0yKTtcclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzQ2xvc2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG4jY2hhbmdlRGV0YWlscyB7XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhY2NvdW50UG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jdGVybXMge1xyXG4gICAgbWFyZ2luOiA1MHB4IDAgMDtcclxufVxyXG5cclxuLy8gLS0tIERlbGl2ZXJ5IERldGFpbHMgLS0tIFxyXG4jZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbiNkZWxpdmVyeUNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jZGVsaXZlcnlVcGdyYWRlQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbkVycm9yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW0haW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1vcHRpb24ge1xyXG4gICAgd2lkdGg6IDI2MHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLmNoZWNrb3V0LWNvbXBsZXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbiNiaWxsUG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZWRpdC5jaGVja291dFBvcHVwTGluayB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHAsIGgyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpub3QoOmhvdmVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMjVweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9jZWVkKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZXJyb3JDb250YWluZXIucG9zdGNvZGVMb29rdXBTZWxlY3RDb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7IFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZGVsaXZlcnktcmVhZC1vbmx5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSIsIi8qXHJcbi0tLS0tIDQwNCAtLS0tLS0gXHJcbi0gQXJlIHlvdSBsb3N0PyBcclxuKi9cclxuXHJcbi5lcnJvci1ub3QtZm91bmQtbG9nbyB7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWxvZ28tc2l6ZSwgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRub3QtZm91bmQtbG9nby1zaXplLCBoZWlnaHQpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTIuNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwNXB4O1xyXG4gICAgfVxyXG59XHJcbi5lcnJvci1ub3QtZm91bmQtY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpZiAkbm90LWZvdW5kLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3QtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgQGlmICRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkbm90LWZvdW5kLWJhY2tncm91bmQtc2l6ZTtcclxuICAgICAgICAgICAgQGlmIG5vdCAkbm90LWZvdW5kLWJhY2tncm91bmQtcmVwZWF0IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgeyBcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGgsIHNtYWxsKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGgsIGxhcmdlKTtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtaGVhZGluZy0xLWNvbG91cjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLWhlYWRpbmctMi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNjIuNXB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTI1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIExpZ2h0IGJveCAgLS0tLS1cclxuLSBUaGlzIGdldCBkaXNwbGF5ZWQgb24gcHJvZHVjdCBwYWdlcyB0byBkaXNwbGF5IHRoZSBmdWxsIHJlc29sdXRpb24gcHJvZHVjdCBpbWFnZXMuXHJcbkZ1bnRpb25hbGl0eSB0aGlzIGhvbGRzOlxyXG4tIExpZ2h0IGJveCBhY3RpdmUgLyBpbmFjdGl2ZSBzdGF0ZXMuXHJcbi0gVGhlIG92ZXJsYXkgc3R5bGVzLlxyXG4tIEFkZGl0aW9uYWwgSW1hZ2VzLlxyXG4tIDM2MCBpbWFnZSBzdXBwb3J0LlxyXG4tIFRoZSBoZWFkZXIgdGhhdCBnZXRzIGdlbmVyYXRlZC5cclxuLSBWaWRlbyBwbGF5ZXIuXHJcbiovXHJcblxyXG4vL092ZXJsYXlcclxuI2xpZ2h0Ym94LW92ZXJsYXkuYWN0aXZlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjI7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxufVxyXG5cclxuLy9MaWdodGJveFxyXG4ubGlnaHRib3gge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jbGlnaHRib3gtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgei1pbmRleDogNTAwMDtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94LWNvdW50IHtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplKSk7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvdW50LWNvbG91cjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogN3B4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWVkaXVtLXZhbHVlKCRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNsaWdodGJveC1jb250ZW50LW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxufVxyXG5cclxuI2xpZ2h0Ym94LWNvbnRlbnQtaW5uZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnJlZWwtb3ZlcmxheSB7XHJcbiAgICAvLyBPdmVycmlkaW5nIHRoZSBkaW1lbnNpb25zIGNhbGN1bGF0ZWQgYnkgdGhlIHJlZWwgcGx1Z2luLCB0aGUgaW5idWlsdCBqcyByZXNwb25zaXZlIHN1cHBvcnQgY29uZmxpY3RzIHdpdGggZm91bmRhdGlvbidzIG1lZGlhIHF1ZXJ5IHN1cHBvcnQuXHJcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi8vIFRyaWdnZXIgb3ZlcmxheS5cclxuLmltYWdlIHtcclxuICAgICYubGlnaHRib3gtZW5hYmxlZCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbmxhcmdlKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtdHJpZ2dlci1pY29uLWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubGlnaHRib3gge1xyXG4gICAgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIC8vIERvbmUgbmVlZCB0byBzZXQgYWJzb2x1dGUgd2lkdGggKyBoZWlnaHQgYW55bW9yZS5cclxuICAgICAgICAvLyB3aWR0aDogJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIC8vIGhlaWdodDogJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMTVweDtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGJldHdlZW4gY29sb3Vycy5cclxuICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgLy8gRGVmYXVsdC5cclxuICAgICAgICAkYnV0dG9uLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vIEhvdmVyLlxyXG4gICAgICAgICRidXR0b24taG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAkYnV0dG9uLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkYnV0dG9uLWRlZmF1bHQsICRidXR0b24taG92ZXIsICRidXR0b24tYWN0aXZlKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWVsLW92ZXJsYXkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saWdodGJveC1jb250ZW50IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1saWdodGJveC1oZWFkZXItaGVpZ2h0KSAtICN7c3BhY2luZy12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4sIDEsIHNtYWxsKX0pO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XHJcbiAgICAgICAgICAgIC8vIEFjY291bnQgZm9yIHBhZ2VyIHdpZHRoLlxyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogbWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiB4bGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpZ2h0Qm94U2xpZGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICN7c21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZ3O1xyXG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6ICN7c21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3ttZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGVuZm9yY2UgYSBtaW4gaGVpZ2h0IGJ1dCByYXRoZXIgYWRqdXN0IHRvIGNvbnRlbnQsIGp1c3QgbWFrZSBzdXJlIHlvdSBkb24ndCBnZXQgaW50byBhIHNpdHVhdGlvbiB3aGVyZSB5b3Ugb3ZlcmZsb3cgYW5vdGhlciBlbGVtZW50IC8gdmlld3BvcnQuXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogI3ttZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAje2xhcmdlLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtdmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjB2dztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nLCAjbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcclxuICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiBtYXAtZ2V0KCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtaW1hZ2UtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBoaWdobGlnaHRpbmcgdGhlIGltYWdlLlxyXG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJldixcclxuICAgICAgICAubmV4dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtd2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1oZWlnaHQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRib3JkZXJSYWRpdXMxICRib3JkZXJSYWRpdXMxIDA7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggMDtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpZ2h0Ym94LXByZXYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxIDAgMCAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoIDAgJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaWdodGJveC1uZXh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXNDb250YWluZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IC0yMHB4IDZweCA2MHB4IC0xM3B4ICRjb2xvdXIyO1xyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94UGFnZXJDb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodCk7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICAvLyBib3gtc2hhZG93OiAtMjlweCAyOHB4IDU4cHggLTI5cHggJGNvbG91cjI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodCk7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC41KTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgLnBzX190aHVtYi15IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC43KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhvcml6b250YWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuICAgICAgICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXkgeyBcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMSwgMC41KTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAgICAgLnBzX190aHVtYi14IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wcy0tYWN0aXZlLXgge1xyXG4gICAgICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saWdodGJveC1wYWdlci1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpOyAgICBcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLXZpZGVvIHtcclxuICAgIC8vICAgIHdpZHRoOiAyNXZ3O1xyXG4gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoODAlLCA1NXB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtYmFja2dyb3VuZC1jb2xvdXI7XHJcbn1cclxuXHJcbiNsaWdodGJveC12aWRlby1wbGF5ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyBBcyB3ZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IHZpZGVvcyBzdXBwbGllZCBieSB5b3V0dWJlIHNldCB0aGUgYXNwZWN0IHJhdGlvIHRvIDE2OjkgYmFzZWQgb24gdGhlIGJlc3QgZGltZW5zaW9ucyB0YWJsZSBoZXJlIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzYzNzUxMTIsIHRoZSBtYWpvcml0eSBvZiB2aWRlb3Mgd2lsbCBiZSBpbiAxOTIweDEwODAuIElmIHRoaXMgbmVlZHMgdG8gYmUgcmVtb3ZlZCBhIGFic29sdXRlIGhlaWdodCB3aWxsIG5lZWQgdG8gYmUgYXBwbGllZCB0aGUgaWZyYW1lLlxyXG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xyXG59IiwiLypcclxuLS0tLS0gTWFnbmlmaWVyIC0tLS0tIFxyXG5UaGlzIGlzIHByaW1hcmlseSB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2Ugd2hlbiB5b3UgaG92ZXIgb3ZlciB0aGUgbWFpbiBpbWFnZS5cclxuKi9cclxuXHJcbi5pbWctbWFnbmlmaWVyLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG4uaW1nLW1hZ25pZmllci1nbGFzcyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG59XHJcblxyXG4vLyBJZiBtYWduaWZpY2F0aW9uIGlzIGFjdGl2ZSBvbiBhIGxpZ2h0Ym94IGVuYWJsZWQgaW1hZ2UgdGhlbiByZWR1Y2UgdGhlIGxpZ2h0Ym94IGljb24gZG93biBhcyB0aGlzIGNhbiBnZXQgaW4gdGhlIHdheSBvZiB0aGUgbWFnbmlmaWNpYXRpb24gZ2xhc3MuXHJcbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS5tYWduaWZpY2F0aW9uLWNvbnRhaW5lci5pbWFnZSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZywgbWFnbmlmaWNhdGlvbi1ob3Zlcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogI3soJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplIC8gMil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgIC5tYWduaWZ5aW5nLWdsYXNzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuXHJcbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgLm1hZ25pZmllci1jb250cm9sIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGUtaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgem9vbS1vdXQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHpvb20taW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gYnhTbGlkZXIgKCBDYXJvdXNlbHMgKSAtLS0tLS0gXHJcbi0gaHR0cHM6Ly9ieHNsaWRlci5jb20vXHJcbi0gVGhpcyBoYW5kbGVzIGFsbCB0aGUgZGlzcGxheSBzdHlsZXMgZm9yIGNhcm91c2VscyAvIHNsaWRlc2hvd3MgYXJvdW5kIGV4cHJlc3MgdGhpcyBjYW4gYmUgaW4gYSBtb2R1bGUgb3IgYWRkaXRpb25hbCBpbWFnZXMgb24gdGhlIHByb2R1Y3QgcGFnZSwgdGhlIGNvbnRlbnQgaXMgbm90IHJlc3RyaWN0ZWQgdG8ganVzdCBpbWFnZXMgYnV0IGNhbiBleHRlbmQgdG8gZGlzcGxheSBwcm9kdWN0IC8gZWJnJ3MuIFxyXG4qL1xyXG5cclxuXHJcbi5jYXJvdXNlbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYuYngtdW5kZXJsaW5lIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tdW5kZXJsaW5lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ieC1zaGFkb3cge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRyYW5zaXRpb24tbW9kZS1ob3Jpem9udGFsIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudHJhbnNpdGlvbi1tb2RlLWhvcml6b25hbCwgJi50cmFuc2l0aW9uLW1vZGUtZmFkZSB7XHJcbiAgICAgICAgLmJ4LXZpZXdwb3J0IHtcclxuICAgICAgICAgICAgLy8gb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogY2xpcCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgYSBkdXBsaWNhdGlvbiBvZiBjb2RlIGFzIHRoaXMgaXMgZGVmaW5lZCBpbiB0aGUgLmNvbGxlY3Rpb24gY2xhc3MsIHRoaXMgZGVwZW5kYW5jeSBzaG91bGQgYmUgd29ya2VkIG91dCB0aGUgc3lzdGVtIG9uY2UgODE3MTM4IGlzIGRvbmUgYnV0IGN1cnJlbnRseSB0aGVyZSBpcyBhIGRpc2Nvbm5lY3QgYmV0d2VlbiBjYXJvdXNlbCBzcGFjaW5nIGFuZCBncmlkIHNwYWNpbmcuXHJcbiAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy9TbGlkZSBzdHlsZXMsIHRoaXMgaGFuZGxlcyBiYXNpYyBiYW5uZXIgY2Fyb3VzZWwgc3R5aW5nIHRvIG11bHRpcGxlIHNsaWRlIHByb2R1Y3QgY2Fyb3VzZWxzLlxyXG4vLyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgIC8vIFRPRE86IHRoaXMgaXMgbm90IGEgZml4IGFuZCBuZWVkIGFkZGl0aW9uYWwgd29yay4uLiA4MTY1MDBcclxuICAgIC8vIFlvdSBtdXN0IGFkZCBwYWRkaW5nIGlmIHNoYWRvdyBpcyBlbmFibGVkLlxyXG4gICAgLy8gJi5tdWx0aS1jb2wtcGFkZGluZyB7XHJcbiAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAvLyB9ICAgXHJcbi8vIH1cclxuXHJcbltkYXRhLWJ4U2xpZGVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLCAuY21zLWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbCgpO1xyXG59XHJcblxyXG4uYngtc2VwZXJhdG9yIHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgJiArIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtdmlld3BvcnQge1xyXG4gICAgei1pbmRleDogMTtcclxuICAgID4gZGl2IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbltpZCQ9XCItY2Fyb3VzZWwtY29udGFpbmVyXCJdIHtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbnRyb2xzIC0tLS0tXHJcbi8vTm9ybWFsIC8gZmFsbGJhY2ssIG1lZGl1bSBzaXplZCBidXR0b25zLlxyXG4uY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgICAgICBoZWlnaHQ6ICBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEaWN0YXRlcyB3aGV0aGVyIHRoZSBjb250cm9scyBzaG91bGQgYmUgd2l0aGluIGNhcm91c2VsIGNvbnRhaW5lciBvciBvdmVyZmxvdy5cclxuLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHMge1xyXG4gICAgQGlmIG5vdCAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgICAgICAmOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5zbWFsbENvbnRyb2xzIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogaW1wbGVtZW50IHNtYWxsIGNvbnRyb2xzIHBvc2l0aW9uaW5nLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxhcmdlQ29udHJvbHMge1xyXG4gICAgICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gIFxyXG5cclxuICAgIH1cclxuICAgICAgXHJcbn1cclxuXHJcbi8vTGFyZ2UgY29udHJvbHMsIHBpbm5lZCB0byB0aGUgbGVmdC9yaWdodCBvZiB0aGUgc2xpZGVyIHdpdGggZW5sYXJnZWQgYnV0dG9uIGFyZWEuXHJcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbiAgICAvL1RoaXMgY2xhc3MgaXMgb25seSB1c2VkIGlmIGEgcGFnZXIgaXMgYWN0aXZlLlxyXG4gICAgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgQGlmIG5vdCAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gVG9vIGFsbG93IGZvciBhIGd1dHRlciBiZXR3ZWVuIHRoZSBidXR0b25zLlxyXG4gICAgICAgICAgICAkYnV0dG9uLWd1dHRlcjogJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoKHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKSAqIDIpICsgKCRidXR0b24tZ3V0dGVyICogMikpO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRidXR0b24tZ3V0dGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKChsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucykgKiAyKSArICRidXR0b24tZ3V0dGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAnYm90dG9tLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICdib3R0b20tbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpIC8gMi41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyNCwgJHBvaW50TGVmdCwgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpIC8gMi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXI0LCAkcG9pbnRSaWdodCwgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpIC8gMi41KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoIHNvbGlkIGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgZGVmYXVsdCk7IFxyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC5jYXJvdXNlbC5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbi8vICAgICAuYngtcHJldiwgLmJ4LW5leHQge1xyXG4vLyAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4vLyAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiA4cHg7XHJcbi8vICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbkBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgIC5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRyb2xzIGNvbnRhaW5lciBwb3NpdGlvbmluZy5cclxuQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1yaWdodFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtbGVmdFwiIHtcclxuICAgICAgICAgICAgLmNhcm91c2VsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAuYngtdmlld3BvcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcImJvdHRvbS1yaWdodFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtcmlnaHRcIiB7ICBcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJib3R0b20tbGVmdFwiIG9yICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtbGVmdFwiIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzLCAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0gQGVsc2Uge1xyXG4gICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLnNtYWxsLXdpZGUtY29udHJvbHMge1xyXG4gICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1uZXh0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC1jb250cm9scyB7XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGlmICRieC1jb250cm9scy1pY29uLXNoYWRvdyB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRieC1jb250cm9scy1pY29uLXNoYWRvdyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7c21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je2xhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSl9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1uZXh0KTtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYngtcHJldiwgLmJ4LW5leHQge1xyXG4gICAgLy8gTWFrZSBqdXN0IHRoZSBidXR0b25zIG92ZXJsYXAgdGhlIHRoZSBjYXJvdXNlbCBjb250ZW50cy5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXJhZGl1cyk7XHJcbn1cclxuXHJcbi5ieC1wcmV2IHtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJ4LW5leHQge1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gUHJldmVudHMgZmxhc2hpbmcgY29udGVudCBvbiBwYWdlIGxvYWQuXHJcbmRpdltkYXRhLWJ4U2xpZGVyXSB7XHJcbiAgICAvLyBHZXQgY29sdW1uIGNvdW50LlxyXG4gICAgLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIHRoZSBDU1MgZnVuY3Rpb24gYXR0cigpIGlzIGluIG1haW5zdHJlYW0gc3VwcG9ydCBidXQgdHlwZSgpIGlzIG5vdCB3aGljaCB3ZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHZhbHVlIGZyb20gc3RyaW5nIHRvIGludGVnZXIgdG8gYmUgdXNlZCBpbiBjYWxjKCkgZnVuY3Rpb24uIFxyXG4gICAgQGZvciAkY29sdW1ucyBmcm9tIDEgdGhyb3VnaCAxMiB7XHJcbiAgICAgICAgJltieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW5zfVwiXSB7XHJcbiAgICAgICAgICAgIC0tY29sdW1uczogI3skY29sdW1uc307XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJjpub3QoW2J4LXNsaWRlci1pZF0pIHtcclxuICAgIC8vICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgIC8vIH1cclxuICAgICY6bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBQcmUtaW5pdGlhbGlzZWQgY29sdW1uIGFycmFuZ2VtZW50LCB0aGlzIGlzIGZvbGxvd2luZyB0aGUgc2FtZSBydWxlcyBhcyBncmlkIG1vZHVsZXMgaW4gX21vZHVsZXMtdjIuc2NzcyAuY29sbGVjdGlvbiAmIC5ncmlkLWNvbGxlY3Rpb24teFxyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgLy8gQXBwbHkgcmVzcG9uc2l2ZSBjb2x1bW4gY291bnQsIHRoaXMgbWlycm93IGhhbmRsZWJhcnMgaGVscGVycyBzbWFsbC1jb2x1bW4tY291bnQuanMgJiBtZWRpdW0tY29sdW1uLWNvdW50LmpzLlxyXG4gICAgICAgIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xyXG4gICAgICAgIC0tbWVkaXVtLWNvbHVtbnM6IGNhbGModmFyKC0tc21hbGwtY29sdW1ucykgKyAxKTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1zbWFsbC1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgIC8vIEFwcGx5IGdhcC5cclxuICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1pbml0aWFsaXNpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1jb2xvdXIpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC12aWV3cG9ydCB7XHJcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG59XHJcbi8vIE1ha2VzIGV2ZXJ5IHNsaWRlIGRpc3BsYXk6IGJsb2NrIG90aGVyd2lzZSB5b3UgbG9zZSB0aGUgYW5pbWF0aW9uIGVmZmVjdCBmb3IgdHJhbnNpdGlvbmluZy5cclxuLmNhcm91c2VsIC5ieC12aWV3cG9ydCB7XHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIG5vdyBnZXRzIGhhbmRsZWQgYnkgdGhlIC50cmFuc2l0aW9uLW1vZGUtIGNsYXNzZXMsIGhlaWdodDogMTAwJSBhbHNvIGNhdXNlIGJ4c2xpZGVyIHRvIGluY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgc2xpZGUgaGVpZ2h0IHdoZW4gaW4gZmFkZSBtb2RlLlxyXG4gICAgICAgIC8vIE5lZWQgdG8gc2V0IDEwMCUgaW4gbW9iaWxlIHRvIGtlZXAgYWxsIGNlbGxzIHRoZSBzYW1lIGhlaWdodC5cclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBQYWdlciAtLS0gXHJcbi5ieC1wYWdlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAuYngtcGFnZXItaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAoJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zICogMS41KTtcclxuICAgICAgICBoZWlnaHQ6ICgkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnMgKiAxLjUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCA3LjVweDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRieC1wYWdlci1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgaGVpZ2h0OiAkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRieC1wYWdlci1idXR0b24tcmFkaXVzKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1wYWdlci1idXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eSwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87ICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRoaXMgY2xhc3MgZ2V0IGFzc2lnbmVkIHdoZW4gdGhlIHNsaWRlIGlzIGFjdGl2ZSBOT1Qgd2hlbiB0aGUgYnV0dG9uIGlzIGFjdGl2ZS5cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHksIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFNsaWRlcnMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBUaGlzIGlzICpOT1QqIGNhcm91c2VsIGZ1bmN0aW9uYWxpdHkgcGxlYXNlIHJlZmVyIHRvIGJ4c2xpZGVyLnNjc3MgZm9yIHRoYXQuXHJcbi0gVGhpcyBpcyBmb3JtIGZvcm0gY29udHJvbHMgd2hlcmUgeW91IHJlcXVpcmUgYW4gaW5wdXQgdHlwZSA9IHNsaWRlci5cclxuLSBUaGUgc3RseWVzIGhlcmUgd2lsbCBhbHNvIGhhdmUgYSBoZWF2eSBpbmZsdWVuY2Ugb24gdGhlIHByaWNlIHNsaWRlciBmb3IgZmlsdGVycy5cclxuKi9cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgaGVpZ2h0OiAkc2xpZGVyLXJhaWwtaGVpZ2h0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHNsaWRlci1yYWlsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFkZCBlcnJvciBzdHlsZXMuXHJcbiAgICAmLnNsaWRlci1pbnZhbGlkIHtcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudWktc2xpZGVyLWhhbmRsZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBTbGlkZXIgSGFuZGxlIC0tLS0gXHJcbi8vIFRoZSB0aGluZ3MgdGhhdCB5b3UgcHVsbCBvbi5cclxuLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtLjVlbTtcclxuICAgIC8vIElmIHRoZSBoYW5kbGUgaXMgaW4gdGhlIG1pbiBwb3NpdGlvbiB0aGUgcmFpbCBiZWxvdyBpcyBzdGlsbCBleHBvc2VkLlxyXG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3VyMTtcclxuXHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLy8gLS0tLS0gU2xpZGVyIFJhbmdlIC0tLS0tIFxyXG4vLyBUaGUgY29sb3VyZWQgYXJlYSAoIHRoZSBzZWxlY3RlZCBzZWN0aW9uIClcclxuLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgLy8gQWRkaW5nIGFkZHRpb25hbCB3aWR0aCArIGhlaWdodCBzbyB0aGUgcmFuZ2Ugb3ZlcmZsb3dzIHRoZSByYWlsJ3MgYm9yZGVyLlxyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLy8gVG8gb3ZlcmxhcCB0aGUgcmFuZ2UgY29sb3VyaW5nIG92ZXIgdGhlIHJhaWwncyBib3JkZXIuXHJcbiAgICAmLnVpLXNsaWRlci1yYW5nZS1taW4ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVpLXNsaWRlci1yYW5nZS1tYXgge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG4vLyAtLS0tLSBFcnJvciBjb250YWluZXIgLS0tLS0gXHJcbi5zbGlkZXItZXJyb3JzIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfSAgICBcclxufSIsIlxyXG5bZGF0YS10b29sdGlwXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbnNwYW4udG9vbHRpcC10cmlnZ2VyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgIC8vIGRpc2FibGVzIHRoZSBpT1MgY2FsbG91dCBtZW51XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAgICAvLyBkaXNhYmxlcyB0ZXh0IHNlbGVjdGlvblxyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAgLy8gYm9udXM6IGtpbGxzIHRoZSB0YXAgZmxhc2guXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluZm8pO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSA1KSAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSAyKTtcclxuICAgICAgZm9udC1zaXplOiAkdG9vbHRpcC1pbmZvLWljb24tc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyBOZWVkIHRvIHNldCBiYXNlbGluZSBpZiBtdWx0aXBsZSB0ZXh0IHN0cmluZ3Mgd3JhcHBlZCBpbiBodG1sIGVsZW1lbnRzIHRvIGVuc3VyZSB0aGV5IGFsbCBmb2xsb3cgdGhlIHNhbWUgdmVydGljYWwgYWxpZ25tZW50ICggaS5lIFNPSCBub3RpZmljYXRpb25zICkuXHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBkdWUgdG8gaGF2ZSBhIHRvb2x0aXAgZGlyZWN0bHkgdW5kZXIgYW5kIGluc3RhbmNlIGNhdXNlIHRoZSBidXR0b25zIHRvIG92ZXJsYXAgdGhlIGNvbnRlbnQgYXJlYS5cclxuICAgIC8vIHotaW5kZXg6IDUwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICYud2FybmluZywgJi5hbGVydCB7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSwgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCAgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSwgbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVucmVhZC1zdGF0ZS1vbik7XHJcbiAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXQ6IDhweDtcclxuXHJcbiAgICAmLmFsaWduLXJpZ2h0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgb3ZlcmZsb3dpbmcgbGVmdCB0aGVuIG92ZXJyaWRlLlxyXG4gICAgJi5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLWxlZnQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBvdmVyZmxvd2luZyByaWdodCB0aGVuIG92ZXJyaWRlLlxyXG4gICAgJi5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIC8vIEFkZGluZyB0aGUgdGlwIHRvIHRoZSB0b29sdGlwLlxyXG4gICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgJHRvb2x0aXAtY29udGVudC1ib3JkZXIsICR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gVG8gc3RvcCB0aGUgY29udGVudCBmcm9tIGZsYXNoaW5nIG9uIHBhZ2UgbG9hZC5cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG4udG9vbHRpcC1jb250ZW50IHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCk7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgLy90b3A6ICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAqIDMpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAjeyR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemV9cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICN7JHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGh9cHggc29saWQgJHRvb2x0aXAtY29udGVudC1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IFxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSwgYSwgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRvb2x0aXAtY29udGVudC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvb2x0aXAtY29udGVudC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFJlYWQgbW9yZSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFJldmVhbGluZyBhZGRpdGlvbmFsIG1hcmt1cCwgdGhpcyBjYW4gaW5jbHVkZSB0ZXh0IG9yIGltYWdlcy5cclxuLSBIb3cgdGhlIGZhZGUgLyBncmFkaWFudCBnZXRzIHVzZWQgd2hlbiBjdXR0aW5nIG9mIHRoZSBvdmVyZmxvd2luZyBjb250ZW50LlxyXG4qL1xyXG5cclxuLnJlYWQtbW9yZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLmNvbnRhaW5lci1jYWxjdWxhdGlvbi13YWl0aW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIC8vIG92ZXJyaWRlIGNsb3NlZCBoZWlnaHQuXHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1vcGVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9iaWxlLW9ubHkge1xyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tb2JpbGUtb25seSB7XHJcbiAgICAgICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICZbcm0tcmV2ZWFsPXRydWVdIHtcclxuICAgIC8vICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgIC8vIH1cclxuICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgLy8gTGV0dGluZyB0aGlzIGZhbGwgbmF0dXJhbGx5IG9uIHRoZSBwYWdlLlxyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMjRweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnJlYWQtbW9yZSB7XHJcbiAgICAvLyBSdWxlcyB0byBzaG93IGZhZGUuXHJcbiAgICAvLyBJZiB0aGUgZmFkZSBpcyBub3QgZGlzYWJsZWQgYnkgdGhlIEpTIGR1ZSB0byBsb3cgY29udGVudC5cclxuICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHJlYWQgbW9yZSBlbGVtZW50IHRoYXQgYWxsb3dzIHRoZSBmYWRlIGVmZmVjdCBhbmQgbm90IGp1c3QgdXNpbmcgdGggcmV2ZWFsIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGlzIGlzIGp1c3QgYSBtb2JpbGUgb25seSByZWFkIG1vcmUgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgY29udGVudCBidXQgbG9va3Mgb2sgb24gZGVza3RvcC5cclxuICAgICAgICAmLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgYWN0aXZlIHRoZW4gZGlzYWJsZSBmYWRlLlxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQge1xyXG4gICAgICAgICAgICAmID4gcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgICAgIC8vIEFzIDE3LjEwLjIwMjUgdGhlcmUgaXMgbm8gb2ZmaWNpYWwgc3VwcG9ydCBsaW5lLWNsYW1wIGluIENTUydzIHNwZWMgYnV0IGhhcyBnb29kIGdlbmVyYWwgYnJvd3NlciBzdXBwb3J0IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9saW5lLWNsYW1wLlxyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiB2YXIoLS1yZWFkLW1vcmUtbGluZS1jbGFtcCk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgbm90IG1vYmlsZSBvbmx5LlxyXG4gICAgLy8gJjpub3QoLmFjdGl2ZSk6bm90KC5tb2JpbGUtb25seSk6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAvLyAgICAgLy8gSWYgZmFkZSBpcyBub3QgZGlzYWJsZWQuXHJcbiAgICAvLyAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIElmIG1vYmlsZSBvbmx5LlxyXG4gICAgLy8gJjpub3QoLmFjdGl2ZSkubW9iaWxlLW9ubHkge1xyXG4gICAgLy8gICAgIC8vIElmIGZhZGUgaXMgbm90IGRpc2FibGVkLlxyXG4gICAgLy8gICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH0gICBcclxuICAgIC8vIEJlZm9yZSBpbml0aWFsaXNhdGlvbiBoaWRlIGNvbnRlbnQgdG8gcHJldmVudCBjb250ZW50IGZyb20gZmxhc2hpbmcgdXAuXHJcbiAgICAmOm5vdChbcm0taWRdKSB7XHJcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9IFxyXG59XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBBdXRvIENvbXBsZXRlICggUHJlZGljdGl2ZSBTZWFyY2ggKSAtLS0tLS0gXHJcblRoZSBkcm9wZG93biB5b3Ugc2VlIHdoZW4geW91IHN0YXJ0IHR5cGluZyBpbiBhIHF1ZXJ5IHdpdGhpbiB0aGUgc2VhcmNoIGJhciBpbiB0aGUgaGVhZGVyLlxyXG4qL1xyXG5cclxuXHJcbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCB0b3ApIG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgc2lkZSkgbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCBib3R0b20pO1xyXG4gICAgPiB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGFjLXJlc3VsdHMtd2lkdGggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA2JTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjLXJlc3VsdHMtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgei1pbmRleDogNTAwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWMtcmVzdWx0cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIEluY3JlYXNlZCB6LWluZGV4IHRvIGJlIG9udG9wIG9mIGJhc2tldCBzdW1tYXJ5LlxyXG4gICAgICAgIHotaW5kZXg6IDIwMDAwMTtcclxuICAgIH1cclxuICAgIC8vIE9wZW5pbmcgYW5kIGNsb3NpbmcuXHJcbiAgICAmLnNjcm9sbGVyIHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gdWwsIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiAkaGVhZGVyLXNlYXJjaC13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIHBhZGRpbmc6ICRhYy10aXRsZS1jb2xsZWN0aW9uLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpZiAoc21vb3RoLWVkZ2VzKCRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXIpIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxuICAgIC5hYy10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYWMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGlmICgkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRhYy10aXRsZS1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgfVxyXG4gICAgLnZpZXctYWxsIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLXZpZXctYWxsLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjLXZpZXctYWxsLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdmlldy1hbGwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhdXRvLWNvbXBsZXRlLXZpZXctYWxsKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtdmlldy1hbGwtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG4uYWMtdGl0bGUtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogJGFjLXRpdGxlLW1hcmdpbjtcclxuICAgIGZvbnQtc3R5bGU6ICRhYy10aXRsZS1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRhYy10aXRsZS1mb250LXdlaWdodDtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgQGlmICgkYWMtdGl0bGUtZm9udC1zaXplKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdGl0bGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpZiAoJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRhYy10aXRsZS1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxufVxyXG4uYWMtaXRlbS1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAkYWMtaXRlbS1saXN0LXBhZGRpbmc7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgJi5jb2x1bW4ge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6bm90KC5jb2x1bW4pIHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgICYucm93IHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5hYy1pdGVtIHtcclxuICAgIG1hcmdpbjogJGFjLWl0ZW0tbWFyZ2luO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYSBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSwgLmFjLWl0ZW0tbXVsdGltZWRpYS1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG1hcmdpbjogJGFjLWl0ZW0taW1hZ2UtbWFyZ2luO1xyXG4gICAgICAgIGJvcmRlcjogJGFjLWl0ZW0tYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgLy8gVG9vIGFiaWd1b3VzIG5vdyB0aGF0IHdlIG5lZWQgdG8gYWxzbyBkaXNwbGF5IHJlZmVyZW5jZSBhcyB3ZWxsIGFzIGRlc2NyaXB0aW9uLlxyXG4gICAgLy8gc3BhbiB7XHJcbiAgICAvLyAgICAgZmxleC1iYXNpczogMTMwcHg7XHJcbiAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwIDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogJGFjLWl0ZW0tcGFkZGluZztcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGlmICgkYWMtaXRlbS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRhYy1pdGVtLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGFjLWl0ZW0tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLWl0ZW0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBpZiAoJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWMtaXRlbS1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRhYy1pdGVtLWNvbnRlbnQtZ2FwKSkge1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRhYy1pdGVtLWNvbnRlbnQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tcmVmZXJlbmNlIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1yZWZlcmVuY2UtY29sb3VyKTtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1zbmlwcGV0IHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXNuaXBwZXQtY29sb3VyKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU2VhcmNoIGNvbnRhaW5lciB3aGVuIHJlc3VsdCBoYXZlIGJlZW4gZm91bmQuXHJcbi5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIC5hamF4LXNlYXJjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gVGhlIGNvbnRhaW5lciBmb3IgZW50aXJlIGF1dG8gY29tcGxldGUgY29tcG9uZW50cy5cclxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogOTAwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvL3RyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgLy8gRG9uJ3QgaGlkZSBvdmVyZmxvdyBkdWUgdG8gdXNpbmcgYm94LXNoYWRvd3MuXHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAvL3RyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGk6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAuYWMtaXRlbS1saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG4vLyBPcmlnaW5hbCBTb3VyY2U6XHJcbi8vIGh0dHBzOi8vY29kZXBlbi5pby9pYW1udXh0L3Blbi9kUnhCWHhcclxuLy8gaHR0cHM6Ly9jb2RlcGVuLmlvL2lhbW51eHQvcGVuL3Zab0pQYVxyXG5cclxuLnNhIHtcclxuICAgIHdpZHRoOiAoJHNhLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICBoZWlnaHQ6ICgkc2EtZGltZW50aW9ucyArIDEwKTtcclxuICAgIG1hcmdpbjogJHNhLW1hcmdpbjtcclxuICAgICYtd2FybmluZyB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHNhLXdhcm5pbmctZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkc2Etd2FybmluZy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzY2FsZVdhcm5pbmcgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAvLyBhbmltYXRpb246IHB1bHNlV2FybmluZyAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1ib2R5IHtcclxuICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0N3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1kb3Qge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1lcnJvciB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHNhLWFsZXJ0LWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLWFsZXJ0LWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlRXJyb3JJY29uIC41cztcclxuICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAwIDAgNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgdG9wOiAtMTdweDtcclxuICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICB0b3A6IC0xMXB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDYwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYteCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAvLyBib3JkZXI6IDRweCBzb2xpZCAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTRweDtcclxuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWZpeCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgbGVmdDogMjhweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGVmdCxcclxuICAgICAgICAmLXJpZ2h0IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGVmdCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDE3cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWExlZnQgLjc1cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcmlnaHQge1xyXG4gICAgICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWFJpZ2h0IC43NXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBFcnJvciBBbmltYXRpb24gLS0tLS1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSxcclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZUVycm9ySWNvbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlWExlZnQge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNjUlIHtcclxuICAgICAgICBsZWZ0OiA4MnB4O1xyXG4gICAgICAgIHRvcDogOTVweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiAzM3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGxlZnQ6IDE3cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYUmlnaHQge1xyXG5cclxuICAgIDAlLFxyXG4gICAgNjUlIHtcclxuICAgICAgICByaWdodDogODJweDtcclxuICAgICAgICB0b3A6IDk1cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICByaWdodDogMTRweDtcclxuICAgICAgICB0b3A6IDMzcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBXYXJuaW5nIEFuaW1hdGlvbiAgLS0tLS1cclxuXHJcbkBrZXlmcmFtZXMgc2NhbGVXYXJuaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZ0lucyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91clxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBTdWNjZXNzIHRpY2tcclxuLmNoZWNrX21hcmsge1xyXG4gICAgd2lkdGg6IChtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIHdpZHRoKSArIDEwKTtcclxuICAgIGhlaWdodDogKG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgaGVpZ2h0KSArIDEwKTtcclxuICAgIG1hcmdpbjogJHNhLW1hcmdpbjtcclxufVxyXG5cclxuLnNhLWljb24ge1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICBib3JkZXI6IDRweCBzb2xpZCAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUsXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEyMHB4IDAgMCAxMjBweDtcclxuICAgIHRvcDogLTdweDtcclxuICAgIGxlZnQ6IC0zM3B4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xyXG4gICAgdG9wOiAtMTFweDtcclxuICAgIGxlZnQ6IDMwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLXBsYWNlaG9sZGVyIHtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgLy8gYm9yZGVyOiA0cHggc29saWQgJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTRweDtcclxuICAgIHRvcDogLTRweDtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWZpeCB7XHJcbiAgICB3aWR0aDogNXB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyOHB4O1xyXG4gICAgdG9wOiA4cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIFxcOTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgXFw5O1xyXG59XHJcblxyXG4uYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1cztcclxufVxyXG5cclxuLmFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzTG9uZyAwLjc1cztcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICB0b3A6IDM4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA1NCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGxlZnQ6IDIxcHg7XHJcbiAgICAgICAgdG9wOiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDU0JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgbGVmdDogMjFweDtcclxuICAgICAgICB0b3A6IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNjUlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIHRvcDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgIHRvcDogMzhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBsZWZ0OiAxNHB4O1xyXG4gICAgdG9wOiA0NnB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XHJcbiAgICB3aWR0aDogNDdweDtcclxuICAgIHJpZ2h0OiA4cHg7XHJcbiAgICB0b3A6IDM4cHg7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTm90aWZpY2F0aW9ucyAoIENhbGxvdXRzICkgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBPbiBwYWdlIG5vdGljYXRpb25zICggbm8gaXRlbXMgZm91bmQgKSBcclxuLSBIZWFkZXIgbm90aWZpY2F0aW9ucy5cclxuLSBDb29raWUgbm90aWZpY2F0aW9uLlxyXG4tIENhbGxvdXRzICggdGhpbmdzIHRoYXQgc2xpZGUgb3V0IGZyb20gdGhlIGVkZ2VkIG9mIGEgd2luZG93ICkgXHJcbi0gTm8gSmF2YXNjcmlwdCBub3RpZmljYXRpb25cclxuLSBCcm93c2VyIGNvbXBhdGlibGl0eSBub3RpZmljYXRpb24gXHJcblxyXG4qL1xyXG5cclxuLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6bm90KC5jbG9zZS1idXR0b24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFsZXJ0IHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53YXJuaW5nIHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5zdWNjZXNzIHtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgsICRjb2xvdXIxKTtcclxuICAgIH1cclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY2FsbG91dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBUaGVzZSBub3JtYWxseSBzbGlkZSBvdXQgZnJvbSB0aGUgdG9wIG9yIHNpemUuXHJcblxyXG4uY2FsbG91dC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTk5OTk5O1xyXG4gICAgJi5zaWRlIHtcclxuICAgICAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90aWZpY2F0aW9uLWNhbGxvdXQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgIEBpZiAoJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfSAgIFxyXG4gICAgICAgIC8vIEZha2UgYmFja2dyb3VuZCB0byBwcmV2ZW50IHdoYXRldmVyIGlzIGJlaGluZCB0aGUgbm90aWZpY2F0aW9uIHNob3dpbmcgdGhyb3VnaC5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjVweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDRweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgsICRjb2xvdXIzLTIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGVtYmVkZGVkIGluIHRoZSBtYWluIGNvbnRlbnQuXHJcbi5vbi1wYWdlLW5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbn1cclxuLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcclxuICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkbm8taXRlbXMtZm91bmQtcGFkZGluZywgJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiwgJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSwgJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZSk7XHJcbn1cclxuXHJcblxyXG4ubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHtcclxuICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRuby1pdGVtcy1mb3VuZC1wYWRkaW5nLCAkbm8taXRlbXMtZm91bmQtbWFyZ2luLCAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplLCAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplKTtcclxufVxyXG5cclxuLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJGludGVybmFsLWVycm9yLXBhZGRpbmcsICRpbnRlcm5hbC1lcnJvci1tYXJnaW4sICRpbnRlcm5hbC1lcnJvci1mb250LXNpemUsICRpbnRlcm5hbC1lcnJvci1pY3Jvbi1zaXplKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7IFxyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIE92ZXJyaWRlIGFjdGl2ZSBjbGFzcyBhcyB5b3UgYWx3YXlzIHdhbnQgdGhpcyB0byBiZSBhY3RpdmUuXHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSwgMC45KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gLS0tLS0gTm90aWZpY2F0aW9ucyAtLS0tLSBcclxuLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB6LWluZGV4OiAyMDAwO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbnMtei1pbmRleDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDNzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWljb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgYXV0byAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb25zLWljb24tcGFkZGluZztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90aWZpY2F0aW9ucy1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbm90aWZpY2F0aW9ucy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvIGxhcmdlLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkbm90aWZpY2F0aW9ucy1pY29uLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBjb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAoc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpICsgNSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBbY2xhc3MkPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIDJzLCBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wICR0cmFuc2l0aW9uSW50cm8sIG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybyxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbm90aWZpY2F0aW9ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLXRyaWdnZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1mb250LXdlaWdodDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnB3YSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWNhdGlvbnMtYXBwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgJi5jb29raWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gSW1hZ2UgT3ZlcmxheXMgLS0tLSBcclxuXHJcbkltYWdlIG92ZXJsYXlzIGZvciBlc3NlbnRpYWxseSBoaWdobGlnaHRlZCBpdGVtczpcclxuLSBTcGVjaWFsIE9mZmVyc1xyXG4tIEZlYXR1cmVkIEl0ZW1zXHJcbi0gQmVzdCBTZWxsZXJzXHJcbi0gUHJldmlvdXNseSBQdXJjaGFzZWRcclxuXHJcblRoZXNlIG5vcm1hbGx5IGFyZSB0aGUgc2l6ZSBvZiB0aGUgcHJvZHVjdCBpbWFnZSB3aGV0aGVyIGl0cyBvbiBhIGxpc3Rpbmcgb3IgcHJvZHVjdCBwYWdlIHdpdGggYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG5cclxuV2UgYWxsb3cgZm9yIGRpZmZlcmVudCBpbWFnZXMgdG8gYmUgZGlzcGxheWVkIGlmIGEgZ3JvdXAgaXMgbWFya2VkIGFzIGEgaGlnaGxpZ2h0ZWQgaXRlbSBvciB3aGV0aGVyIGl0cyBhbiBpbmRpdmlkdWFsIHByb2R1Y3QuXHJcblxyXG4qL1xyXG5cclxuLy8gU3VwcHJlc3Mgb3ZlcmxheXMgaWYgeW91J3JlIG9uIHRoZSBkZWRpY2F0ZWQgcGFnZS5cclxuI3NwZWNpYWwtb2ZmZXJzIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4jZmVhdHVyZWQtaXRlbXMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWR7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4jYmVzdC1zZWxsZXJzIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXJ7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFNwZWNpZmljYWxseSBub3QgZm9yIGNvbXBhY3QgY2Fyb3VzZWxzIG92ZXJsYXkgcG9zaXRpb25pbmcuXHJcbi5jb250ZW50LWNvbnRhaW5lcjpub3QoLmNvbXBhY3QpIHtcclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2VudGVyYWxpc2UgdGhlIHByb2R1Y3Qgb3ZlcmxheSBvdmVyIHRoZSBtYWluIHByb2R1Y3QgaW1hZ2UuXHJcbiNtYWluSW1hZ2VDb250YWluZXIge1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpbWFnZS1vdmVybGF5LXBvc2l0aW9uO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJjpoYXMoaW1nW3NyYyQ9XCIucG5nXCJdKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGltYWdlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLm92ZXJsYXkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBBbHdheXMgc2NhbGUgZG93biB0aGUgaW1hZ2UgdG8gZml0IHdpdGhpbiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgLy8gU1ZHJ3MgbWF5IG5vdCBoYXZlIGEgd2lkdGggIGF0dHJpYnV0ZSBzZXQsIHNvIHdlIG5lZWQgdG8gYXNzdW1lIHRvIHNjYWxlIHRvIHRoZSBtYXggYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgICAgICZbc3JjJD1cIi5zdmdcIl0sICZbc3JjJD1cIi5TVkdcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAvLyBFeHBhbmQgdG8gMTAwJSBvZiB0aGUgYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IGlzIGFsaWduZWQgY2VudGVyLCB5b3UgY2Fubm90IHJlbHkgb24gdGhlIGltYWdlIGJlaW5nIHByb3ZpZGVkIGF0IHRoZSBjb3JyZWN0IHNpemUuXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gU2V0dGluZyBzaXplIHRvIGNvbnRhaW4gb3RoZXJ3aXNlIGltYWdlIHdpbGwgb3ZlcmZsb3cgdGhlIHByb2R1Y3QgaW1hZ2UgaW4gY2Fyb3VzZWxzLlxyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmdyb3VwLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtc3BlY2lhbC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ncm91cC5mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ3JvdXAuYmVzdFNlbGxlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ2dyb3VwL3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtc3BlY2lhbC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLmZlYXR1cmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAncHJvZHVjdC9zYXNoLWZlYXR1cmVkLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgZmVhdHVyZWQtaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suYmVzdFNlbGxlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLnByZXZpb3VzbHktcHVyY2hhc2VkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtcHJldmlvdXNseS1wdXJjaGFzZWQucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHByZXZpb3VzbHktcHVyY2hhc2VkKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgICYuc3RvY2suY29udHJhY3QtaXRlbSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGNvbnRyYWN0LWl0ZW0pO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCJcclxuXHJcblxyXG5bZGF0YS1jb3VudGRvd24tdGltZV0ge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4uY291bnRkb3duLWNvbnRhaW5lciB7XHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9kdWN0LWVucXVpcnktZGVsaXZlcnktY291bnRkb3duKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDdweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY291bnRkb3duLWRpc3BsYXktZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmICsgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIHtcclxuICAgICAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSB7XHJcbiAgICAgICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gVHJhbnNpdGlvbnMgLS0tXHJcbiAgICAmLmNvdW50ZG93bi1pbmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmNvdW50ZG93bi1hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDVzO1xyXG4gICAgfVxyXG4gICAgXHJcbn0iLCJcclxuLypcclxuXHJcbi0tLS0tIFBXQSAoIFByb2dyZXNzaXZlIFdlYiBBcHBsaWNhdGlvbiApIC0tLS0tIFxyXG4tIEluc3RhbGxhdGlvbiBwcm9tcHQuXHJcblxyXG4qL1xyXG4iLCIvKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cclxuXHJcbi8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhlIHNwYWNpbmcgd2FzIGZhaXJseSBjb25zaXN0ZW50IGR1ZSB0byBhIFwiIHNpbXBsaXNoIFwiIFVJIHRoaXMgbWlnaHQgY2hhbmdlIGluIHRoZSBmdXR1cmUuXHJcbiRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc6IDIwcHg7XHJcblxyXG4ucGF5bWVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIC8vIFRoZSA6bm90IGNoZWNrIHdhcyBwdXQgaW4gcGxhY2UgYXMgdGhlc2Ugc3R5bGVzIGNvbmZsaWN0IHdpdGggb2xkIENTUyBydWxlcywgb25jZSB3ZSBtb3ZlIGF3YXkgZnJvbSBvbGQgb3BheW8gc2VydmVyIGZyYW1lcyB0aGlzIGNoZWNrIGNhbiBnbyBhcyB3ZWxsIGFzIHRoZSAucGF5bWVudC1tZXRob2QgY2xhc3MuIFxyXG4gICAgJjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gd2lkdGg6IHNtYWxsLXZhbHVlKCRwYXltZW50LWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgLy8gd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICN7JHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZ307XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6ICRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGxhcmdlLXZhbHVlKCRwYXltZW50LWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJjpoYXMoLmNvbnRhaW5lci1yZXNpemVkKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPbGQgT3BheW8gU2VydmVyIFBheW1lbnQgbWV0aG9kLlxyXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcclxuICAgICAgICAvLyBBZGRpbmcgb3ZlcmZsb3cteSBwcm9wZXJ0eSB0byB0aGUgcGF5bWVudCBtZXRob2QgY29udGFpbmVyIGFzIGJlbHQgYW5kIGJyYWNlcyBpZiB0aGUgc2NhbGluZyBmb3IgdGhlIGhlaWdodCBvbiB0aGUgaWZyYW1lIGZhaWxzIHRvIHNjYWxlIHVwIGR1ZSB0byBwYXJlbnQgY29udGFpbmVyIGhlaWdodCByZXN0cmljdGlvbnMuXHJcbiAgICAgICAgJGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogJHBheW1lbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAoNTAwcHggKyAoJGJvcmRlci13aWR0aCAqIDIpKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAjeyRib3JkZXItd2lkdGh9IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgZGlzcGxheSB0byByZW1vdmUgd2hpdGVzcGFjZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBmcmFtZS5cclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICYjb3BheW8taWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkcGF5bWVudC1tZXRob2QtaWZyYW1lLWhlaWdodCwgb3BheW8pO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IC8vIFNldHRpbmcgbWluLWhlaWdodCBkdWUgdG8gZm9udC1zY2FsaW5nLlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ2xhc3NlcyBmb3IgT3BheW8gUElcclxuICAgIC5waS1jYXJkLXBheW1lbnQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAmLnNtYWxsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1lZGl1bSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzOTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXJnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5leHRyYS1sYXJnZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXhtYXBsZSB0aGUgaWZyYW1lIHRvIGF2YWlsYWJsZSBzcGFjZSwgdGhpcyBtYXkgZ2V0IG92ZXJ3cml0dGVuIGJ5IE9wYXlvJ3MgSmF2YXNjcmlwdC5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgTWV0aG9kIFNlbGVjdG9yIC0tLS0tXHJcbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBJZiBvbmx5IG9uZSBvcHRpb24gdGhlbiBoaWRlIHRpdGxlLlxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtcGF5bWVudCAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FyZC1wYXltZW50KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5cGFsIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgcGF5cGFsKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ29vZ2xlLXBheSB7XHJcbiAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gYWJpZGUgYnkgR29vZ2xlIEJyYW5kIGd1aWRlIGxpbmVzLi4uXHJcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3BheS9hcGkvYW5kcm9pZC9ndWlkZXMvYnJhbmQtZ3VpZGVsaW5lcyNnb29nbGUtcGF5LWxvZ28tbWFya1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICAwICN7c3BhY2luZy12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZywgMiwgc21hbGwpfSAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGdvb2dsZS1wYXkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFwcGxlLXBheSAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgYXBwbHktcGF5KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLXBheW1lbnQge1xyXG4gICAgICAgICAgICAmLm9wYXlvIHtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItZm9udC1zaXplOiAje3JlbS1jYWxjKDE2KX07XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1saW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBnYXA6ICN7JHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZ307XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBtYXRjaCBPcGF5bydzIHN0eWxlcyBmb3Igc2F2ZSBjYXJkIHByb21wdC5cclxuICAgICAgICAgICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgICAgICAmLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgICAgICAuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tY29udGFpbmVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWNvbnRhaW5lci1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZztcclxuICAgICAgICAgICAgLy8gYm9yZGVyOiAkcGF5bWVudC1jb250YWluZXItYm9yZGVyO1xyXG4gICAgICAgICAgICAmICsgLnBheW1lbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3tsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpfSArICN7JGNoZWNrYm94LWRpbWVudGlvbnN9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBheXBhbC1idXR0b24ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufSIsIlxyXG4vKipcclxuXHJcbi0tLS0gU29jaWFsIE1lZGlhIEljb25zIC0tLS0gXHJcblxyXG5XaGVyZSB0aGVzZSBnZXQgdXNlZDpcclxuLSBPbiB0aGUgcHJvZHVjdCBwYWdlIHRvIHNoYXJlIGEgc2t1IG9uIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nOlxyXG4gICAgLSBGYWNlYm9va1xyXG4gICAgLSBUd2l0dGVyXHJcbiAgICAtIExpbmtlZEluIFxyXG4gICAgLSBFbWFpbFxyXG4tIEluIHRoZSBmb290ZXIgdG8gdGFrZSB0aGUgdXNlciB0byB0aGUgb3JnYW5pc2F0aW9uJ3Mgc29jaWFsIG1lZGlhIHBhZ2VzXHJcbi0gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbiAgICAtIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuICAgIC0gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG5cclxuKiovXHJcblxyXG5cclxuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogJGNvbG91cjQ7XHJcbn1cclxuXHJcbi5zb2NpYWwtaWNvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLnByb2R1Y3QsICYubW9kdWxlIHtcclxuICAgICAgICAvLyBiZWNhdXNlIHByb2R1Y3QgcGFnZSBtb2R1bGVzIGRvbnQgaGF2ZSBhIGljb25zLWNvbnRhaW5lci5cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3Qtc29jaWFsLWljb25zLW1hcmdpbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsb2F0OiAkcHJvZHVjdC1zb2NpYWwtaWNvbnMtZmxvYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yZXZpZXcge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbiAgICAmLmZvb3RlciB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NpYWwtaWNvbnMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5ID09IFwiZmxleC1lbmRcIiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZywgbWFrZSBzdXJlIGljb24gY29sb3VycyBkbyBub3QgY29uZmxpY3Qgd2l0aCBmb290ZXIgYmFja2dyb3VuZC5cclxuICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCBhbmQgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09IFwic2l0ZS1zcGVjaWZpY1wiIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24taG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gQWN0aXZlLlxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3Zlcik7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGJhY2tncm91bmQgc3R5bGVzIGR1ZSB0byBzdXBwcmVzc2luZyB0aGUgYmFja2dyb3VuZCBmbGFnIGJlaW5nIHNldC5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29uLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDIwKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDIwKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJHNvY2lhbC1pY29ucy1zaXplICsgMjApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRzb2NpYWwtaWNvbnMtc2l6ZSArIDUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG5cclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGRlZmF1bHQpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICAgICAgd2lkdGg6ICRzb2NpYWwtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRzb2NpYWwtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNvY2lhbC1pY29ucy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybyBpZigkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHksICN7XCIsXCJ9IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgXCJcIik7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRzb2NpYWwtaWNvbnMtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZUJyYW5kcztcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvIGlmKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSwgI3tcIixcIn0gb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBcIlwiKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZmFjZWJvb2sge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzE4NzdmMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZmFjZWJvb2snKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudHdpdHRlciB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMURBMUYyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCd0d2l0dGVyJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxpbmtlZEluIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwQTY2QzIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2xpbmtlZEluJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc3RhZ3JhbSB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2luc3RhZ3JhbScpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYueW91dHViZSB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkYwMDAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCd5b3V0dWJlJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdvb2dsZS1wbHVzLCAmLmdvb2dsZV9wbHVzIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGRjAwMDAsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2dvb2dsZS1wbHVzJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVtYWlsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2VtYWlsJyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5yZXZlYWwtbmV4dC10by10b2dnbGUge1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmICsgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmV2ZWFsLW92ZXItdG9nZ2xlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogOHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgICAgICYgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmV2ZWFsLWNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgLnNoYXJlLWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdzaGFyZScpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIsICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgKCBQcmludGVyIHdpemFyZCApIC0tLS0tLSBcclxuLSBUaGUgZXF1aXBtZW50IHNlbGVjdG9yIGRyb3AgZG93biBzZWxlY3Rpb24uXHJcbi0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3Qgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBsaXN0IG9mIGFuY2hvcnMuXHJcbiovXHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXI0LCAxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpLCAxKSA1JSwgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTIpLCAxKSA2NSUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKTtcclxuICAgIH1cclxuICAgIEBpZiAkZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3cge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91cjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9ycyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBsYWJlbC5jb250cm9sIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87ICBcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgbGlzdCAoIHRoaXMgc2l0cyB1bmRlciB0aGUgZHJvcGRvd24gc2VsZWN0b3JzICkgLS0tLS0gXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB7XHJcbiAgICBtYXJnaW4tdG9wIDogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIC8vIERlZHVjdCB0aGUgbGlzdCBpdGVtIHBhZGRpbmcgZnJvbSB0aGUgbWFyZ2luIG90aGVyd2lzZSB0aGVyZSB3aWxsIGJlIGEgbGFyZ2UgYW1vdW50IG9mIHdoaXRlc3BhY2UgYmVlbiB0aGUgaGVhZGluZyBhbmQgbGlzdCBpdGVtcy5cclxuICAgICAgICBtYXJnaW46IDAgMCAoc3BhY2luZy12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMSksIDMpIC0gJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFBpY2sgJiBNaXggLS0tLS0tIFxyXG4tIEEgc2VsZWN0aW9uIG9mIG11bHRpcGxlIGl0ZW1zIHRvIGNyZWF0ZSBhIHBhY2suXHJcbiovXHJcblxyXG4ucGljay1uLW1peC1jb250YWluZXIge1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBpcyBjYXVzaW5nIHVuZXZlbiBzcGFjaW5nIGZvciBtb2R1bGVzLlxyXG4gICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtcGFkZGluZyk7XHJcbiAgICBAaWYgJHBpY2stbi1taXgtYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjQsIDEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSksIDEpIDUlLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMiksIDEpIDY1JSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggSGVhZGVyIC0tLS0tXHJcbi5waWNrLW4tbWl4LWhlYWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjtcclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBpY2stbi1taXgtaGVhZGluZy1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXN0eWxlOiAkcGljay1uLW1peC1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgIH1cclxuICAgIC5oZWFkZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjE7ICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IHNlbGVjdG9ycyAoIG1haW4gY29udGVudCApIC0tLS0tXHJcbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkcGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IDcuNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbGV4OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LXRvdGFsLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjIuNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciwgLnJlbWFpbmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTcuNXB4IDA7XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgc3BhY2luZy12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luLCAyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgc3BhY2luZy12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luLCAyLCAnbGFyZ2UnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VsZWN0ZWQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBUbyBicmluZyB0aGUgY291bnQgaW5saW5lIHdpdGggdGhlIHF1YW50aXR5IHNlbGVjdG9yc1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVtYWluaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5yZW1haW5pbmctY291bnQtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlbWFpbmluZy1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYnV0dG9uW3R5cGU9c3VibWl0XSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWd0aDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFdoZW4gdGhlIHNsaWRlciBpcyBhY3RpdmUgYSBjbGFzcyBnZXRzIGFkZGVkIHRvIHRoZSByZWxldmFudCBpbnB1dC5cclxuaW5wdXQudWktc3RhdGUtYWN0aXZlLCAuaW5wdXQtbnVtYmVyLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKTtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNob2RhdyAkdHJhbnNpdGlvbkludHJvO1xyXG59XHJcblxyXG4vLyBJZiB5b3UgaGF2ZSBzb21lIGxlYWQgaW4gdGV4dC5cclxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxLCBtZWRpdW0pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgbGlzdCBlZGl0IGJ1dHRvbiAtLS0tIFxyXG4jcHJvZHVjdExpc3RJdGVtcyB7XHJcbiAgICAmLmxpc3Qge1xyXG4gICAgICAgIC5waWNrLW4tbWl4LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJhc2tldCBzdHlsZXMgLS0tLS0gXHJcbi8vIC0tLSBEaXNwbGF5IHNlbGVjdGlvbiAtLS0gXHJcbi5waWNrLW4tbWl4LXNlbGVjdGlvbiB7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxufSIsIi8qIFxyXG5cclxuLS0tLS0gQW5pbWF0aW9ucyAtLS0tLSBcclxuVE9ETzogVGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBkZXYgY3ljbGUgb2YganVzdCB0cmluZyB0byBnZXQgSFRNTDUgQ2FudmFzJ3MgZXhwb3J0ZWQgZnJvbSBhZG9iZSBhbmltYXRlIHRvIHdvcmsgaW5zaWRlIG9mIGV4cHJlc3MgYW5kIHRvIGhhdmUgbXVsdGlwbGUgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhdCBvbmNlLCBzbyB0aGVyZSBpcyBzdGlsbCBtdWNoIHdvcmsgdG8gYmUgZG9uZSBoZXJlIGl0cyBtb3JlIG9mIGEgcHJvb2Ygb2YgY29uY2VwdCBhdCB0aGlzIHBvaW50LlxyXG4tIEFuaW1hdGVkIEhUTUw1IENhbnZhcydzXHJcbi0gSW50ZXJhY3RpdmUgQW5pbWF0aW9ucy5cclxuKi9cclxuXHJcblxyXG5jYW52YXMge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59IiwiXHJcblxyXG4uY2xpZW50LXNlYXJjaC1uby1yZXN1bHRzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRvcCBiYXIgLS0tLS1cclxuVGhpcyBoYXMgaGFkIHRvIGJlIHdyaXR0ZW4gZHVlIHRvIGZvdW5kYXRpb24ncyB0b3AtYmFyIGN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgY2VudGVyZWQgaXRlbXMsIHlvdSBvbmx5IGdldCB0aGUgb3B0aW9uIHRvcC1iYXItbGVmdCAmIHRvcC1iYXItcmlnaHQsIHRoZSBkZXNpZ24gY2FsbHMgZm9yIHRoZSBjdXJyZW5jeSBzZWxlY3RvciB0byBiZSBpbiB0aGUgbWlkZGxlLlxyXG4qL1xyXG5cclxuLnRvcC1iYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYudXBwZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItbGVmdCwgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgPnVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGhlYWRlci11cHBlci1wYWRkaW5nLCAxKSAxNXB4O1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItY2VudGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBIZWFkZXIgVXBwZXIgY29sb3VyIGNvbnRyYXN0IHByb2Nlc3NpbmcgLS0tLS0gXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJG1lbnUtY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkbWVudS1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRtZW51LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgYWN0aXZlKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAvLyBTbyBpdCBhcHBlYXJzIGFib3ZlIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgLy8gei1pbmRleDogMTAwMDAwO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci11cHBlci1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgICAgICBAaWYgJGhlYWRlci11cHBlci1mb250LXN0eWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItdXBwZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdXBwZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNpdGUtc2V0dGluZy1tZW51IHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgaGVhdnkgaGFuZGVkIGFuZCBtYXkgbmVlZCB0byBiZSBtYWRlIG1vcmUgZmxleGlibGUgaW4gdGhlIGZ1dHVyZSBidXQganVzdCBtYWtpbmcgc3VyZSB0aGF0IGJ1dHRvbiAvIHRleHQgY29sb3VyIGlzIGxlZ2libGUgJiBjb25zaXN0ZW5jeS5cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jdG9wQmFyVXBwZXJPdXRlckNvdW50YWluZXIsIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgQGlmICRoZWFkZXItdXBwZXItZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItdXBwZXItZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJGhlYWRlci11cHBlci1ib3JkZXIge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci11cHBlci1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGVyLXVwcGVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG4iLCJcclxuXHJcbkBtaXhpbiBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKCRjb2xvdXItbmFtZSwgJGNvbG91cnMpIHtcclxuICAgIC8vIENoZWNrIGlmIHZhcmlhYmxlIGV4aXN0LlxyXG4gICAgQGlmIG5vdCAodmFyaWFibGUtZXhpc3RzKCRjb2xvdXItbmFtZSkpIHtcclxuICAgICAgICBAZGVidWcgXCJDb2xvdXIgbWFwIFwiICN7JGNvbG91ci1uYW1lfSBcIiBkb2Vzbid0IGV4aXN0IGZvciBzaXRlICN7JHNpdGV9XCI7XHJcbiAgICB9XHJcbiAgICBAZWFjaCAkbGlnaHRuZXNzLCAkY29sb3VyIGluICRjb2xvdXJzIHtcclxuICAgICAgICAuI3skY29sb3VyLW5hbWV9LWxpZ2h0bmVzcy0jeyRsaWdodG5lc3N9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1wYWdlLWhlYWRlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDM1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLXNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAxNXB4IDE1cHggMDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMjVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWludHJvIHtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG59XHJcblxyXG4uc2ctc3ViLWhlYWRpbmcge1xyXG4gICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctc3ViLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5zZy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMy01O1xyXG59XHJcblxyXG4uc2ctZGVtby1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lcixcclxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDNweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAsXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLWluZm8tbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWl0ZW0tc2VwZXJhdG9yIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG59XHJcblxyXG4uc2ctY2VsbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDEwcHggMjBweDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxufVxyXG5cclxuLnNnLWNvbG91ci1wYWxldHRlIHtcclxuICAgIC5ncmlkLWNvbGxlY3Rpb24teCB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29sb3VyLWJsb2NrIHtcclxuICAgICRjb2xvdXItYmxvY2stbWFyZ2luOiA1cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luOiAkY29sb3VyLWJsb2NrLW1hcmdpbiAwO1xyXG4gICAgcGFkZGluZzogOHB4IDhweCA2cHg7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxpZ2h0ZW5lZC1wZXJjZW50YWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAkY29sb3VyLWJsb2NrLW1hcmdpbjtcclxuICAgICAgICBsZWZ0OiAkY29sb3VyLWJsb2NrLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtY29sb3VyLXByZXZpZXddIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNDI4NTdyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91ci1oZXgtbGFiZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjAge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIxIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjJcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy01IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0yO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC01IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC01O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYtMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjYtMTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNi0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNi0yO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTFcIiwgJGFjY2VudC1jb2xvdXItMSk7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0yXCIsICRhY2NlbnQtY29sb3VyLTIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItM1wiLCAkYWNjZW50LWNvbG91ci0zKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTRcIiwgJGFjY2VudC1jb2xvdXItNCk7XHJcblxyXG4gICAgLnN1Y2Nlc3MtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLndhcm5pbmctY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsZXJ0LWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAucHJpY2UtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zYXZpbmctY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJycC1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctYnV0dG9ucyB7XHJcbiAgICAuc2ctY29tcGFyaXNvbi10YWJsZSAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yY2UgdGhlIGFsaWdubWVudCBpbiB0aGUgY29udGV4dCBvZiB0aGUgc3R5bGVcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25ze1xyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLXR5cGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYgKyAubm90aWZpY2F0aW9uLXN0eWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLnNnLXF1YW50aXR5LXNlbGVjdG9ycyB7XHJcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWNhbGxvdXRzIHtcclxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctY29tcGFyaXNvbi10YWJsZSB7XHJcbiAgICB0aCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jdGFibGUtb2YtY29udGVudHMtc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi50YWJsZS1vZi1jb250ZW50cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICBjb2xvcjogIzVmN2IyNztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzO1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9ucyB7XHJcbiAgICAgICAgLy8gUXVpY2sgYW5kIGRpcmVjdHkgc29sdXRpb24gYXMgZm91bmRhdGlvbidzIHN0aWNrIGlzIGNhbGN1bGF0aW5nIHRoZSBoZWlnaHQgb2YgdGhlIHN0aWNreSBjb250YWluZXIgYmFzZWQgb24gdGhlIGNvbnRlbnQgd2hpY2ggZ29lcyBvZmYgdGhlIHZpZXdwb3J0IGR1ZSB0byB0aGUgc3RpY2t5IGhlYWRlciwgdGhpcyB3aWxsIG5lZWQgcXVpdGUgYSBiaXQgb2Ygd29yayB0byB0YWtlIHRoZSBzdGlja3kgaGVhZGVyIGludG8gYWNjb3VudCB3aGljaCBjdXJyZW50bHkgd2UgZG9udCBoYXZlIHRpbWUgZm9yLlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjB2aDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjZzIGVhc2UtaW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzY1O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjZzIGVhc2UtaW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjRzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBUaGlzIHN0eWxlcyB0aGUgZXhhbXBsZSByb3dzIHVzZWQgaW4gdGhlIGdyaWQgZG9jdW1lbnRhdGlvbi4gKi9cclxuLmdyaWQteC5kaXNwbGF5IHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGw6bnRoLWNoaWxkKDIpLFxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuc21hbGwtY2VudGVyZWQsXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5sYXJnZS1jZW50ZXJlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxO1xyXG59XHJcblxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuY29sb3ItZW5kIHtcclxuICAgIGJhY2tncm91bmQ6ICNkNGQ0ZDQ7XHJcbn1cclxuXHJcbi5zZy1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgIHBhZGRpbmc6IDJyZW07XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyLnBhZGRlZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGE6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQ6ICMxNDY4YTA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudS5tZW51IHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xyXG59IiwiLypcclxuLS0tLS0gQWRtaW4gLS0tLS1cclxuVGhpcyB3aWxsIHBvdGVudGlhbCBoYW5kIHZtQWRtaW4gdjIuXHJcbiovXHJcblxyXG5cclxuXHJcbi52bWFkbWluLWVkaXRvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5pbmxpbmUtZWRpdG9yIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgJi5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XHJcbiAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGNrZWRpdG9yJ3Mgc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGVtcCBmaXggZm9yIG92ZXJyaWRpbmcgY2tlZGl0b3Igc3R5bGVzLlxyXG4gICAgICAgICYuY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEVkaXRvciBpbml0aWFsIGNvbnRyb2xzLlxyXG4gICAgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIFRPRE86IGp1c3QgdGVtcCB1c2luZyB0aGlzIHZhci5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB6LWluZGV4OiAxMDAwMDA7XHJcbiAgICAgICAgLy8gQ29tbW9uIGJ1dHRvbiBzdHlsaW5nLlxyXG4gICAgICAgIC5hZG1pbi1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgKyBkaXYge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAucHJvcGVydHktZWRpdG9yIHtcclxuICAgICAgIFxyXG4gICAgfVxyXG59XHJcbi8vIFByb3BlcnR5IGVkaXRvciB0cmlnZ2VyIGJ1dHRvbi5cclxuLnByb3BlcnR5LWVkaXRvci10cmlnZ2VyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDEzJztcclxuICAgIH1cclxufVxyXG4vLyBDb250ZW50IGVkaXRvciB0cmlnZ2VyIGJ1dHRvbi5cclxuLmNvbnRlbnQtZWRpdG9yLXRyaWdnZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNDQnO1xyXG4gICAgfVxyXG59XHJcbi8vIEVkaXRvciBzYXZlIGJ1dHRvbi5cclxuLmVkaXRvci1zYXZlLWJ1dHRvbiB7XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMGM3JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gRWRpdG9yIGNhbmNlbCBidXR0b24uXHJcbi5lZGl0b3ItY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMDBkJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuXHJcblxyXG5cclxuXHJcblxyXG4ub2ZmLWNhbnZhcy1oZWFkZXIge1xyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgIH1cclxuICAgIC5vZmYtY2FudmFzLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBY2NvcmRpb24gVGFicyAtLS0tLS0gXHJcbi0gVE9ETzogVGhlIG5hbWluZyBjb252ZW50aW9ucyBuZWVkIHRvIGJlIHJlLXdyaXRlbiBhdCBzb21lIHBvaW50IGFzIHRoaXMgd2FzIG9yaWdpbmFsbHkgYnVpbGQgZm9yIG9uIGJlaW5nIHVzZWQgb24gdGhlIHByb2R1Y3QgcGFnZSBoZW5zZSB0aGUgdmVyeSBzcGVjaWZpYyBuYW1pbmcgb2YgaWQncyBhbmQgY2xhc3Nlcy5cclxuLSBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgYmFzZWQgb24gRm91bmRhdGlvbidzIFJlc3BvbnNpdmUgQWNjb3JkaW9uIFRhYnMgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3Jlc3BvbnNpdmUtYWNjb3JkaW9uLXRhYnMuaHRtbFxyXG4tIFRoZSBzdHlsaW5nIGZvciBwcm9kdWN0IHRhYmJlZCBub3RlcyBpcyBkZWZpbmVkIGhlcmVcclxuICAtIEF0dGFjaG1lbnRzXHJcbiAgLSBTcGVjaWZpY2F0aW9uJ3NcclxuICAtIFJldmlld3NcclxuICAtIENvbXBvbmFudHMuXHJcblxyXG4qL1xyXG5cclxuLy8gLS0tLS0gUmVzcG9uc2l2ZSBUYWJzIGhlYWRlciAtLS0tLSBcclxuLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRvZ2dsZS1hbGwtYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG4gICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU7XHRcdFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBHZW5lcmFsIHN0eWxpbmdzIC0tLS1cclxuLy8gSUQgcmVmZXJlbmNlIGNhbiBnbyBhZnRlciA4MjM5NDMgaXMgY29tcGxldGUuXHJcbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICYuY29tcG9uZW50LXJlYWR5IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzcG9uc2l2ZS10YWJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYuY29tcG9uZW50LXJlYWR5IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJjpoYXMoLnRhYnMudmVydGljYWwpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi5hY2NvdW50LWFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIsIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9ncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCAge1xyXG4gICAgICAgICAgICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAgICAgLnRhYnMtdGl0bGUgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIC4ycywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFB1dCB0YWJzIGNvbnRlbnQgaW50byBjb250ZXh0LlxyXG4gICAgICAgICAgICAmICsgLnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgIHdpZHRoOiAkcHJvZHVjdC10YWJzLXRpdGxlLWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LXRhYnMtdGl0bGUtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJHByb2R1Y3QtdGFicy10aXRsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPXRydWVdIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRlZCB0aGlzIHJ1bGUgYXMgd2hlbiBpbiBhY2NvcmRpb24gdmlldyBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UgdGhlcmUgd2FzIHR3byBydWxlcyBiZWluZyBhZGRlZCwgdGhpcyBvbmUgYW5kIHRoZSBhY2NvcmRpb24gdGl0bGUgYXMgd2VsbCwgdGhpcyBpcyBvdmVycmlkaW5nIGZvdW5kYXRpb24ncyBjc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicy1jb250ZW50LFxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICY6bm90KFtjbGFzcyo9XCJwcmVzZXRcIl0pIHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC10YWItc3BlY2lmaWNpYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHBhZGRpbmcgZHVlIHRvIGNvbmZsaWN0aW5nIHdpdGggdGhlIHBhZGRpbmcgZm9yIHN0YXIgcmF0aW5nLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgcGFkZGluZyBkdWUgdG8gY29uZmxpY3Rpbmcgd2l0aCB0aGUgcGFkZGluZyBmb3Igc3RhciByYXRpbmcuXHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIHRvIG1ha2UgbW9yZSBnZW5lcmFsIHB1cnBvc2UsIHVzZSBjb250YWluZXIgY2xhc3NlcyBpZiBuZWVkZWQuXHJcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLy8gT25seSBlZmZlY3QgdGhlIHByb2R1Y3QgcGFnZSwgdGhpcyBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byB1c2UgZGVmYXVsdCB0YWJsZSBjbGFzc2luZyAoIHByZXNldC0xICkgYW5kIHRleHQtZXF1YWxpc2VyICggY29sdW1uIGFsaWdubWVudCApLlxyXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAudGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAudGFiYmVkLWNtcy1lbnRyeSwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBPbmx5IGRvIHRoaXMgZm9yIHRhYmJlZCBub3Rlcywgb3RoZXJ3aXNlIHRoZSBydWxlcyBnZXQgaW4gdGhlIHdheSBvZiBvdGhlciBjbGFzc2VzICggaS5lIHByaWNpbmcgKVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cyhudWxsLCBudWxsLCAkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gSGFuZGxlIHRoZSBmaXJzdCBjb2x1bW4gbGlrZSBpdCBpcyB0aGUgaGVhZGVyIGluIHRlcm1zIG9mIHR5cG9ncmFwaHkgKCB3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGNvbG91ci4uLi4gKS5cclxuICAgIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgICAgICAuZGVzY3JpcHRpb24tY29sLCAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIFRhYnMgc3R5bGluZyAtLS0tXHJcbi50YWJzIHtcclxuICAgICR0YWJzQm9yZGVyQm90dG9tOiAxcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYnNCb3JkZXJCb3R0b20gc29saWQgJGNvbG91cjMtMSAhaW1wb3J0YW50OyAvLyBPdmVycmlkaW5nIEZvdW5kYXRpb25cclxuICAgICYudmVydGljYWwge1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IC8vIE92ZXJyaWRpbmcgRm91bmRhdGlvbiAmIHRoZSBKUyBkb2Vzbid0IGFwcGx5IFwiIGhvcml6b250YWwgXCIgY2xhc3Mgc28gd2UgaGF2ZSB0byBvdmVycmlkZSBvdXIgIGRlZmF1bHQuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSB0aGUgcnVsZSB0aGF0IGdvZXMgYWNyb3NzIGFsbCBvZiB0aGUgdGFicy5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdGFic0JvcmRlckJvdHRvbTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAtI3skdGFic0JvcmRlckJvdHRvbX07XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpOyAgICBcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdGFicy10aXRsZS1pY29uLXNpemU7ICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBBY2NvcmRpb25zIC0tLS0tXHJcbi5hY2NvcmRpb24ge1xyXG4gICAgJGFjY29yZGlvbi1zcGFjaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gQWRkIHNtYWxsIGFtb3VudCBvZiBwYWRkaW5nIHdoZW4gaW4gbW9iaWxlIGZvciB0aGUgcHJvZHVjdCBwYWdlLlxyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBGb3IgdGhpcyB0byB3b3JrIHlvdSBoYXZlIHRvIHdyYXAgdGhlIHRpdGxlIHRleHQgaW4gYSBzcGFuLnRpdGxlLlxyXG4gICAgJi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3Qge1xyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yYWRpby1pbmRpY2F0b3JzIHtcclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgIH1cclxuICAgIC8vIElmIG9ubHkgb25lIGNoaWxkIHRoZW4gc3VwcHJlc3MgdGl0bGUgKCBlLmcuIHBheW1lbnQgbWV0aG9kcyApLlxyXG4gICAgJi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQge1xyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBkZWZhdWx0KSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYWNjb3JkaW9ucy10aXRsZS1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRhY2NvcmRpb25zLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGhpZ2hsaWdodGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1jbG9zZWQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYWNjb3JkaW9ucy1hcnJvdy1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3JkaW9ucy1hcnJvdy1jb2xvdXIpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7IC8vIGRlZmF1bHQuXHJcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1vcGVuKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRhY2NvcmRpb24tc3BhY2luZztcclxuICAgICAgICAmOm5vdCguaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgd2VpcmQgYm9yZGVyIHRoYXQgaXMgZm91bmQgZW1pdHRpbmcgd2hlbiB3ZSByb3VuZCBvdmVyIHRoZSBjb3JuZXJzIG9mIHRoZSBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofSAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH0gI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZywgMCwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcsIDAsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi8vIERpc3BsYXlzIHRoZSB2YXJpb3VzIGZpbGUgYXR0YWNobWVudHMgdGhhdCBjYW4gYmUgYXNzaWduZWQgdG8gYSBzdG9jayBpdGVtLlxyXG4uYXR0YWNobWVudHMtY29udGFpbmVyIHtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRhY2htZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWxlLWF0dGFjaG1lbnQtcGFkZGluZztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZpbGUtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZpbGUtYW5jaG9yLWZvbnQtc2l6ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB1bmtub3duKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHVua25vd24pO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZpbGUtaWNvbnMtc2l6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJvY2h1cmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBicm9jaHVyZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBicm9jaHVyZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXItZ3VpZGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB1c2VyLWd1aWRlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB1c2VyLWd1aWRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFydHMtZGlhZ3JhbSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBhcnRzLWRpYWdyYW0pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBhcnRzLWRpYWdyYW0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53b3JkLCBbaHJlZiQ9Jy5kb2MnXSwgW2hyZWYkPScuZG9jeCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgd29yZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3Vycywgd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBvd2VycG9pbnQsIFtocmVmJD0nLnBwdCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcG93ZXJwb2ludCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcG93ZXJwb2ludCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4Y2VsLCBbaHJlZiQ9Jy54bHMnXSwgW2hyZWYkPScueGxzeCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgZXhjZWwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGV4Y2VsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGRmLCBbaHJlZiQ9Jy5wZGYnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBkZik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwZGYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jc3YsIFtocmVmJD0nLmNzdiddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgY3N2KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBjc3YpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1hdHRhY2htZW50LCBbaHJlZiQ9Jy5qcGcnXSwgW2hyZWYkPScucG5nJ10sIFtocmVmJD0nLmdpZiddLCBbaHJlZiQ9Jy53ZWJtJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBpbWFnZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgaW1hZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWRlby1hdHRhY2htZW50LCBbaHJlZiQ9Jy5tb3YnXSwgW2hyZWYkPScubXA0J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB2aWRlbyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdmlkZW8pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC56aXAsIFtocmVmJD0nLnppcCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgemlwKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB6aXApO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBTdGlja3kgLS0tLS0tIFxyXG5TdGlja3kgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGJ1aWxkIG9udG9wIG9mIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zdGlja3kuaHRtbC5cclxuXHJcbltJTVBPUlRBTlRdIC0gVGhpcyBDU1MgaXMgbm90IGZvciB0aGUgYmFza2V0IHN1bW1tYXJ5IG9yIHRoZSBoZWFkZXIgcGxlYXNlIHZpZXcgaGVhZGVyLnNjc3MgYW5kIGJhc2tldC5zY3NzIGZvciB0aGF0LlxyXG4qL1xyXG5cclxuXHJcblxyXG4uc3RpY2t5IHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5lbGVtZW50LW5vdC1pbi12aWV3cG9ydCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnRcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtYXhpcy1zdGlja3ktY29udGFpbmVyXSB7XHJcbiAgICAvLyBTY2FsZSBmdWxsIHdpZHRoIG9mIGNvbnRhaW5lciB0byBhbGxvdyBmb3Igc3RpY2t5IGJ1dHRvbnMgYWx3YXlzIGJlIHBpbm5lZCB0byB0aGUgcmlnaHQuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLWF4aXMtc3RpY2t5XSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2RhdGEtc3RpY2t5LWNvbnRhaW5lcl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4kc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDEyOHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50czogKFxyXG4gICAgbGFyZ2U6IChtYXAtZ2V0KCRicmVha3BvaW50cywgbGFyZ2UpICsgKGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKSAqIDIpKVxyXG4pO1xyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAvLyBib3gtc2hhZG93OiAwcHggMnB4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC41KTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIG1heC13aWR0aDogOTUlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgIC8vIFNwZWNpZmljYWxseSBmb3IgbWFuYWdlIGNhbGxzIHRvIHByZXZlbnQgbGFyZ2UgYnJlYWtzIGluIHRoZSBtYWluIGNvbnRlbnQuXHJcbiAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLnN0aWNreSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gRml4IGludG8gcGxhY2Ugc3RvcCBkZWZhdWx0IGJlaGF2b3VyIGZyb20gdGFraW5nIG92ZXIgb24gbW9iaWxlLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIC8vICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG5cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAkcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAvLyBSZXNldCByYWRpdXMgaWYgbm90IGZpcnN0IG9yIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgYnV0dG9uLGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAkcmFkaXVzIDAgMDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAkcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDAgJHJhZGl1czsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTGlzdCBTb3J0aW5nIE9wdGlvbnMgIC0tLS0tXHJcbi0gSG9sZHMgdGhlIHN0eWxlcyBmb3IgdGhlIGZvbGxvd2luZzogXHJcbiAgLSBQcm9kdWN0IGxpc3QocylcclxuICAtIEFjY291bnQgYXJlYSBzb3J0aW5nICggaGlzdG9yaWNhbCB0cmFuc2FjdGlvbnMsIGNhbGwgc3lzdGVtLCBvcmRlcnMgKVxyXG4tIFRoZSBmb2xsb3dpbmcgY29tcG9uZW50cyB3aWxsIGJlIGZvdW5kIGhlcmU6IFxyXG4gIC0gTGlzdCBpdGVtIGNvdW50XHJcbiAgLSBTb3J0IGJ5IFxyXG4gIC0gRmlsdGVycyB0b2dnbGUgKCBJZiBvcGVuaW5nIGEgcG9wdXAgKVxyXG4gIC0gVmlldyBzd2l0Y2hlciAoIEdyaWQgb3IgVGFibGUgKVxyXG4gIC0gUGFnaW5hdGlvbiBcclxuICAtIEl0ZW1zIHBlciBwYWdlLlxyXG4qL1xyXG5cclxuXHJcbi5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xyXG4gICAgLy8gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAoJHNlbGVjdC1kcm9wZG93bi1kZWZhdWx0LWhlaWdodCAtIDEwKTtcclxuICAgIC8vIH1cclxuICAgIC5jb250cm9sIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXApO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwKTtcclxuICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgID4gZGl2IHtcclxuICAgICAgICBAaWYgJGZpZWxkc2V0LWlucHV0LWhlaWdodCA8PSA0MHB4IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvcnQtb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRvd25sb2FkLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtI3soKCRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXAgKyAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb21tb24tcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAjeygkc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwICsgJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aCl9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBSZXN1bHRzIGRpc3BsYXkgLS0tXHJcbiAgICAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgY291bnQpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBjb3VudCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5BWElTUmVzdWx0RGlzcGxheSwgLml0ZW0tY291bnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNvcnRpbmctaXRlbXMtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gRmlsdGVyIHRvZ2dsZSAtLS1cclxuICAgIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGZpbHRlci10b2dnbGUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyBcclxuICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgZmlsdGVyLXRvZ2dsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWx0ZXItdG9nZ2xlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWN0aXZlLWZpbHRlci1jb3VudCB7XHJcbiAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIENhbGwgc2VhcmNoIC0tLSBcclxuICAgIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBjYWxsLXNlYXJjaCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBjYWxsLXNlYXJjaCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlucHV0LCBpbnB1dCArIGJ1dHRvbiwgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBCcmFuY2ggU2VsZWN0b3IgLS0tIFxyXG4gICAgLmJyYW5jaC1maWx0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGVjdCwgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFNvcnQgZHJvcCBkb3duIC0tLVxyXG4gICAgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBzb3J0LWJ5KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHNvcnQtYnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgei1pbmRleCBkdWUgdG8gb3ZlcmxhcHBpbmcgcHJpbnRlciB3aXphcmQgZHJvcGRvd25zIDgxMzYwOFxyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFRvIGJyaW5nIGhlaWdodCBpbmxpbmUgd2l0aCBvdGhlciBzb3J0aW5nIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gUGFnZSB2aWV3IC0tLVxyXG4gICAgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC12aWV3LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgdmlldyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHZpZXcpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLCAudmlldy1jb250cm9sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBWYXJpb3VzIHN0YXRlcy4gXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEZhbGxiYWNrIGNhbiBiZSByZW1vdmVkIGFmdGVyIDg0MDE5OSBoYXMgYmVlbiBjb21wbGV0ZWQgKCBlc3NlbnRpYWxseSByZXZlcnNpbmcgbG9naWMgd2hpY2ggaXMgaW5jb25zaXN0YW55IHdpdGggSXRlbXMgUGVyIExpc3QgYW5kIFBhZ2luYXRpb24gKS5cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdHcmlkLCAmLkFYSVNWaWV3TGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gR2VuZXJhbGlzZWQgaWNvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBJY29uIHNwZWNpZmljIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdHcmlkLCAmLmdyaWQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpc3QtZ3JpZC12aWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3TGlzdCwgJi5saXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaXN0LXRhYmxlLXZpZXcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vLS0tIFBlciBQYWdlIC0tLVxyXG4gICAgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwZXItcGFnZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwZXItcGFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAuQVhJU1BlclBhZ2VDb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDE2cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTkVXIFZFUlNJT04gT0YgQVhJU1BlclBhZ2VDb250YWluZXIgKCBmb2xsb3dpbmcgZXhwcmVzcyBuYW1pbmcgY29udmVuc2lvbnMgKyByZWR1Y2VkIG1hcmt1cCApLlxyXG4gICAgLy8gSWYgaXRlbSBwZXIgbGlzdCBpcyB0aGUgZmlyc3QgaXRlbSBpbiBzb3J0aW5nIGJhciB0aGVuIHB1c2ggdG8gdGhlIHJpZ2h0LlxyXG4gICAgZGl2OmZpcnN0LWNoaWxkLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGl0ZW1zLXBlci1saXN0LXdpZHRoKTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaXRlbXMtcGVyLWxpc3Qtd2lkdGgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleDogMSAxIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAucGFnaW5hdGlvbi1jb250YWluZXIsICYgKyAuQVhJU1BhZ2VOdW1iZXJpbmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIFBhZ2luYXRpb24gLS0tXHJcbi5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwLCAyKTtcclxuICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwYWdpbmF0aW9uKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDI1JTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIERvbid0IHNldCBmbGV4OiAxOyBhcyB0aGF0IHB1c2hlcyBhbGwgdGhlIHByZWNlZWRpbmcgY29udGVudCB0byBsZWZ0IG5vIGlkZWEgZm9yIHRoZSBzb3J0aW5nIGJhciBhdCB0aGUgYm90dG9tIG9mIGEgbGlzdCBhcyBpdCBjYXVzZXMgYWxpZ25tZW50IGlzc3Vlcy5cclxuICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAwICN7c3BhY2luZy12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCwgMiwgbGFyZ2UpfTtcclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDI1cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwYWdpbmF0aW9uKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDEwcHg7XHJcbiAgICAgICAgLy9tYXJnaW46IDAgMi41cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAvLyAgICAgLy8gcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAycHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cilcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWxlY3RlZCwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5wYWdpbmF0aW9uLW9wdGlvbi1qb2luZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbi5wYWdpbmF0aW9uTGFiZWwsIC5wYWdpbmF0aW9uLWxhYmVsIHtcclxuICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiAkcGFnaW5hdGlvbi1sYWJlbC1kaXNwbGF5O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxufSIsIlxyXG4vKipcclxuXHJcbi0tLS0gTWFuYWdlIENhbGxzIC0tLS0gXHJcblxyXG4tIEZvcm1hbGx5IGtub3cgYXMgdGhlIGNhbGwgcG9ydGFsIGJlZm9yZSBpdCBnb3QgZW1iZWRkZWQgaW4gZXhwcmVzcywgbWFuYWdlIGNhbGxzIGlzIGFjY291bnQgZnVuY3Rpb25hbGl0eSB0aGF0IGRpc3BsYXlzIGNhbGxzIGluIGEgbGlzdCBpbiBleHByZXNzLlxyXG4tIFN0eWxlcyBpbmNsdWRlZCBoZXJlOiBcclxuICAtIExpc3QgZm9yIGNhbGwgbGlzdCArIGV2ZW50cyBsaXN0LlxyXG4gIC0gRW5xdWlyeSBzdW1tYXJ5LlxyXG4gIC0gQ2FsbCByYXRpbmcgZm9udHMuXHJcbiAgLSBTdGlja3kgYnV0dG9ucyBpY29ucy5cclxuKiovXHJcblxyXG4uZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtZW5xdWlyeS1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAvLyBFbnN1cmUgYmFja2dyb3VuZC1jb2xvciBnZXRzIHJlbmRlcmVkIGluIHByaW50IG1vZGUuXHJcbiAgICAvLyBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIC8vIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjYWxsLWVucXVpcnktaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNhbGwtZW5xdWlyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYWxsb3dpbmcgdGhlIGNvbnRhaW5lciB0byBkaWN0YXRlIHRoZSBwYWRkaW5nLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1jb250ZW50LWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5lbnF1aXJ5LWhlYWRlci1oZWFkaW5nIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxlcyBkdWUgdG8gaW5wdXQgYmVpbmcgb24gYSBiYWNrZ3JvdW5kLlxyXG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFue1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FsbCBSYXRpbmcgLS0tLS1cclxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBhZ2UtdmlldyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi5saXN0LXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhdGluZy1sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgLnJhdGluZy1pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgLmNhbGwtcmF0aW5nLXZhbHVlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTAge1xyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctY2Fubm90LXJhdGUpKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYudW5yYXRlZCAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdW5yYXRlZCkpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0xIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXZlcnktYmFkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMiAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1iYWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0zIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWF2ZXJhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi00IC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWdvb2QpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi01IC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXZlcnktZ29vZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBcyBkZWZhdWx0IHNjYWxlIHRvIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGUgaWNvbiBpcyBhIHJhZGlvIGJ1dHRvbiB0aGVuIGxpbWl0IHRoZSB3aWR0aC5cclxuICAgICAgICAucmFkaW8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENhbGwgdXJnZW5jeSBpY29ucy5cclxuLmNhbGwtdXJnZW5jeS1pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJi5sb3cge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1sb3cpfSk7XHJcbiAgICB9XHJcbiAgICAmLm1lZGl1bSB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LW1lZGl1bSl9KTtcclxuICAgIH1cclxuICAgICYuaGlnaCB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWhpZ2gpfSk7XHJcbiAgICB9XHJcbiAgICAmLmNyaXRpY2FsIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktY3JpdGljYWwpfSk7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11cmdlbmN5LWltYWdlLXVybCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24ge1xyXG4gICAgLmJ1dHRvbi1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtYmFjay10by1saXN0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtbGlzdCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtbGlzdC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLXJlcXVlc3QtYXJjaGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJlcXVlc3QtYXJjaGl2ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtcmVxdWVzdC1hcmNoaXZlLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtYWRkLWluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtYWRkLWluZm8pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWFkZC1pbmZvLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtY3JlYXRlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5ldy1jYWxsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tbmV3LWNhbGwtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuICAgICRjYWxscy10YWJsZS1yb3ctcGFkZGluZzogMTBweDtcclxuICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxuICAgICYuZW5xdWlyeS10YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWNvbCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgKyAxMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVucmVhZC1jb2wge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgICB0ZC5jYWxsLW51bWJlci1jb2wsIHRoLmNhbGwtbnVtYmVyLWNvbCwgLmNhbGwtbnVtYmVyLWNvbCB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDBweDtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY3VzdG9tZXItbmFtZS1jb2wsIHRoLmN1c3RvbWVyLW5hbWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLnJhdGluZy1jb2wpIHtcclxuICAgICAgICB0ZC5zdWJqZWN0LWNvbCwgdGguc3ViamVjdC1jb2wsIC5zdWJqZWN0LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zdWJqZWN0LWNvbCwgdGguc3ViamVjdC1jb2wsIC5zdWJqZWN0LWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMy43JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgdGguc2VydmljZS1jb250cmFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExLjUlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNhbGwtY29udGFjdC1jb2wsIHRoLmNhbGwtY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51c2VyLWNvbnRhY3QtY29sLCB0aC51c2VyLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY3JlYXRlZC1jb2wsIHRoLmNyZWF0ZWQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3LjclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmxhc3QtdXBkYXRlZCwgdGgubGFzdC11cGRhdGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3LjclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnJhdGluZy1jb2wsIHRoLnJhdGluZy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVyZ2VuY3ktY29sLCB0aC51cmdlbmN5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudHlwZS1jb2wsIHRoLnR5cGUtY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc291cmNlLWNvbCwgdGguc291cmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGF0YS10aW1lLWNvbCwgdGguZGF0ZS10aW1lLWNvbCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLm5vdGVzLWNvbCwgdGgubm90ZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudGltZXN0YW1wLWNvbCwgdGgudGltZXN0YW1wLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY2hhbmdlcy1jb2wsIHRoLmNoYW5nZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXMgd2UgYWRkIGEgcGFkZGluZyBSICsgTCB0byB0aGUgdGQgd2UgbmVlZCB0byBjb21wZW5zYXRlIGZvciB0aGF0LlxyXG4gICAgLmVsbGlwc2lzLXRleHQ6aG92ZXIge1xyXG4gICAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICB9XHJcbiAgICAvLyBQcmV2ZW50IGxvbmcgc3RyaW5ncyBvZiB0ZXh0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICAgIC5jYWxsLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XHJcbiAgICB9XHJcbiAgICB0ci5jYWxsLWNsb3NlZCB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBub3QoXCIucmF0aW5nLWNvbFwiLCBcIi51bnJlYWQtY29sXCIpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVucXVpcnktZmlsdGVycyB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgc3Bhbi5jaGVja2JveCwgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jYWxsLXR5cGUtaWNvbiB7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAvLyBGaXggZm9yIGljb25zIG5vdyBzaG93aW5nIGluIHByaW50ZXIgbW9kZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy82NjcwMTUxL2hvdy1jYW4taS1mb3JjZS1icm93c2Vycy10by1wcmludC1iYWNrZ3JvdW5kLWltYWdlcy1pbi1jc3MuIFxyXG4gICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcclxuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgZm9udC1zaXplOiAkY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIHN0YXRpYyBidWlsZC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vICYuYXR0YWNobWVudCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUF0dGFjaG1lbnQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuYXR0YWNobWVudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1hdHRhY2htZW50KTtcclxuICAgIH1cclxuICAgIC8vICYuY2FsbC1wcml2YWN5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2FsbFByaXZhY3kucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2FsbC1wcml2YWN5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXByaXZhY3kpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jYWxsLXR5cGUge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DYWxsVHlwZS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jYWxsLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdHlwZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNsYXNzaWZpY2F0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2xhc3NpZmljYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2xhc3NpZmljYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY2xhc3NpZmljYWl0b24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb21wbGV0ZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db21wbGV0ZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29tcGxldGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbXBsZXRlKTtcclxuICAgIH1cclxuICAgIC8vICYuY29udGFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udGFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250YWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuY29udHJhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250cmFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250cmFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250cmFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRyYWN0LXR5cGUge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250cmFjdFR5cGUucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udHJhY3QtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb250cmFjdC10eXBlKTtcclxuICAgIH1cclxuICAgIC8vICYuY3JlYXRlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNyZWF0ZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY3JlYXRlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jcmVhdGVkKTtcclxuICAgIH1cclxuICAgIC8vICYuZGVmZXJyZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1EZWZlcnJlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5kZWZlcnJlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1kZWZlcnJlZCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmVzY2FsYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Fc2NhbGF0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmVzY2FsYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtZXNjYWxhdGlvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmltcGFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUltcGFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbXBhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW1wYWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuaW5ib3VuZC1waG9uZS1jYWxsIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW5ib3VuZFBob25lQ2FsbC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbmJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW5ib3VuZC1waG9uZS1jYWxsKTtcclxuICAgIH1cclxuICAgIC8vICYuaW5mb3JtYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbmZvcm1hdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbmZvcm1hdGlvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmxpbmsge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1MaW5rLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmxpbms6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtbGluayk7XHJcbiAgICB9XHJcbiAgICAvLyAmLm91dGJvdW5kLXBob25lLWNhbGwge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1PdXRib3VuZFBob25lQ2FsbC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5vdXRib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLW91dGJvdW5kLXBob25lLWNhbGwpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5wcmlvcml0eSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVByaW9yaXR5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnByaW9yaXR5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXByaW9yaXR5KTtcclxuICAgIH1cclxuICAgIC8vICYucmVzcG9uc2liaWxpdHkge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1SZXNwb25zaWJpbGl0eS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5yZXNwb25zaWJsaXR5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXJlc3BvbnNpYmlsaXR5KTtcclxuICAgIH1cclxuICAgIC8vICYuc2hvcnRjdXQtc2VudCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVNob3J0Y3V0U2VudC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXNob3J0Y3V0LXNlbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zbGEtaW5jbHVzaW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U0xBSW5jbHVzaW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnNsYS1pbmNsdXNpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc2xhLWluY2x1c2lvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLnN0YXR1cyB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVN0YXR1cy5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zdGF0dXM6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc3RhdHVzKTtcclxuICAgIH1cclxuICAgIC8vICYudW5kZWZlcnJlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVVuZGVmZXJyZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYudW5kZWZlcnJlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS11bmRlZmVycmVkKTtcclxuICAgIH1cclxuICAgICYudXJnZW5jeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS11cmdlbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi53b3JrZmxvdyB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVdvcmtmbG93LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLndvcmtmbG93OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXdvcmtmbG93KTtcclxuICAgIH1cclxufVxyXG5cclxuLmNhbGwtc291cmNlLWljb24ge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGNhbGwtZW5xdWlyeS1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBzdGF0aWMgYnVpbGQuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudXNlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLXVzZXIpO1xyXG4gICAgfVxyXG4gICAgJi5wb3J0YWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS1wb3J0YWwpO1xyXG4gICAgfVxyXG4gICAgJi5lbWFpbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLWVtYWlsKTtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLWhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAkbWFuYWdlLWNhbGxzLXRhYmxlLWhlYWRpbmctbWFyZ2luO1xyXG59IiwiLypcclxuLS0tLS0gQmFjayB0byB0b3AgLS0tLS0tIFxyXG5UaGlzIGlzIHRoZSBidXR0b24gdGhhdCBhcHBlYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4qL1xyXG5cclxuLmJhY2stdG9wLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aCk7XHJcbiAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIEBpZiAkYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKTtcclxuICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIGFjY291bnQgZm9yIHRoZSByZWNhcHRjaGEgYmFkZ2UuXHJcbiAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgbGVmdDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCk7XHJcbiAgICB9XHJcbiAgICB6LWluZGV4OiAxNTAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLXdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0KTtcclxuICAgICAgICBAaWYgJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gYWNjb3VudCBmb3IgdGhlIHJlY2FwdGNoYSBiYWRnZS5cclxuICAgICAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhY2stdG9wLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCAnYmFjay10by10b3AnKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFjay10by10b3AtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtaWNvbi1zaXplKTsgXHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWljb24tc2l6ZSk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIsICY6aG92ZXIuYWN0aXZlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpZiAkYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YWN0aXZle1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFNlY3Rpb25zIC0tLS0tIFxyXG5BeGlzIHRvZ2dsZXIgaXMgYnVpbGQgb24gdG9wIG9mIEZvdW5kYXRpb24ncyBUb2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwgYW5kIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL2FjY29yZGlvbi5odG1sIGJ1dCBzb21ldGltZXMgaXQgaXMgbm90IHBvc3NpYmxlIGNvbnZlbmllbnQgdG8gYnVpbGQgdGhlIHNlY3Rpb24ocykgaW4gPHVsPiBvciBpbiBkZXNrdG9wIHlvdSByZXF1aXJlIHRoZSBsYXlvdXQgdG8gYmUgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gbW9iaWxlLlxyXG4qL1xyXG5cclxuLmF4aXMtc2VjdGlvbiB7XHJcbiAgICAvLyBBbGxvdyBncmlkLW1hcmdpbi15IGhhbmRsZSB0aGlzLlxyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtb3Blbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZXZlYWwtZW5hYmxlZCB7XHJcbiAgICAgICAgJjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tICR0cmFuc2l0aW9uSW50cm8sIHBhZGRpbmctYm90dG9tICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xyXG4gICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1jbG9zZWQpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7IFxyXG4gICAgICAgIGZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkpO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvKlxyXG5cclxuLS0tLS0gRWxsaXBzaXMgLS0tLS0gXHJcbldoZW4gdGhlIGNvbnRlbnQgaXMgdG9vIGxvbmdlciB0byBmaXggd2l0aGluIGEgdGFibGUgY2VsbCAoIGZvciBleGFtcGxlICkgYWxsb3cgdGhlIHVzZXIgdG8gc2hvdyBvdmVyZmxvd2luZyB0ZXh0IGJ5IGhvdmVyaW5nLlxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIG9ubHkgd29ya3Mgd2l0aCBzaW5nbGUgbGluZXMgb2YgdGV4dCwgbXVsdGktbGluZSB5b3Ugd2lsbCBuZWVkIHRvIGxvb2sgaW50byAtLXdlYmtpdC1saW5lLWNsYW1wLlxyXG4qL1xyXG5cclxuLmVsbGlwc2lzLXRleHQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmVsbGlwc2lzLXRleHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7ICBcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47ICBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAmLmVsbGlwc2lzLWFjdGl2ZSB7XHJcbiAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBibGFjayA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBhbnkgYW5jaG9yIG9wYWNpdHkuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIEJsdXIgLS0tLS0tIFxyXG5UaGUgZWZmZWN0IHRoYXQgZ2V0cyBhcHBsaWVkIHRoZSBoZWFkZXIsIG1haW4gJiBmb290ZXIgd2hlbiBhIG1vZGFsIG9yIG1lbnUgaXMgb3BlbiwgZXNzZW50aWFsbHkgYmx1cidzIG91dCB0aGUgY29udGVudCBpbiB0aGUgYmFja2dyb3VuZCB3aGVuIHNvbWV0aGluZyBpcyBvdmVybGF5aW5nIHRoZSBwYWdlJ3MgbWFpbiBjb250ZW50LlxyXG4qL1xyXG5cclxuXHJcbi8vLS0tIEJsdXIgRWZmZWN0IC0tLVxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIC8vRE9FU04nVCBXT1JLIElOIElFIE9SIEVER0VcclxuICAgIC5ibHVyIHtcclxuICAgICAgICAtLWRlZnVzZS1hbmltYXRpb246IGRlZnVzZUJsdXIgLjNzIGZvcndhcmRzO1xyXG4gICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICBhbmltYXRpb246IGJsdXIgMC42cztcclxuICAgICAgICAmLmRlZnVzZSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIDAuM3M7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBkZWZ1c2VCbHVyIHtcclxuICAgICAgICAwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigxMHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAyMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoOHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA0MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNnB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA2MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICA4MCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGdldHMgY2xpY2sgdG8gZGlzYWJsZSB0aGUgYmx1ciBlZmZlY3Qgb24gY29udGVudC5cclxuI3BhZ2VPdmVybGF5LCAuYmx1ci1vdmVybGF5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBvcGFjaXR5OiAwLjE7XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdGF0aWMgLS0tLSBcclxuRGVkaWNhdGVkIHNwZWNpZmljYWxseSB0b3dhcmRzIHRoZSBsYW5kaW5nIHBhZ2UgZm9yIHRoZSBzdGF0aWMgbGFuZGluZyBwYWdlIGZvciBleHByZXNzLlxyXG5cclxuKi9cclxuXHJcbkBpZiAoJHNpdGUgPT0gXCJzdGF0aWNcIikge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ3VzdG9tIHN0eWxlc2hlZXRzIGxpbmsuXHJcbiAgICAuZGVtby1saW5rIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIC8vIER1ZSB0byB0aGUgdmFyaWF0aW9uIGluIGhlaWdodHMgYmV0d2VlbiBzaXRlIGxvZ28ncyB3ZSBuZWVkIHRvIHNldCBhIGhlaWdodDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxODBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5zaXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLnNpdGUtYXJlYS1wYWdlcyB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFZmZlY3QgYWxsIHVsJ3MuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS12YXJpYW50cy1jb250YWluZXIge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS12YXJpYW50IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMi41cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtYXJlYS1jZWxsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNpdGUtYXJlYS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN0ZW1wbGF0ZS1leHByZXNzLXBhZ2UtbGlzdCB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOZWVkIHRoaXMgc3BlY2lmaWNhbGx5IGZvciB0aGUgbW9kdWxlcyB0ZXN0IHBhZ2VzLlxyXG5cclxuJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjogMTBweDtcclxuJG1vZHVsZXMtYnV0dG9uLWljb24tc2l6ZTogMTZweDtcclxuJG1vZHVsZXMtYnV0dG9uLXBhZGRpbmc6IDVweCAxMHB4O1xyXG5cclxuXHJcbi5tb2R1bGVzLXRlc3QtcGFnZS1oZWFkZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTY7XHJcbn1cclxuXHJcbi5yb3ctYmFja2dyb3VuZC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgLy8gTWFraW5nIHN1cmUgdGhhdCByb3cgYW5kIG1vZHVsZSBjb250cm9sIHBhbmVscyBjYW4gbmV2ZXIgb3ZlcmxhcCAoIGkuZSBpbiBjb250YWluZWQgdmlldyApLlxyXG4gICAgICAgIHRvcDogI3soJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlciArIHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYnV0dG9uLXBhZGRpbmcsIDEpICsgJG1vZHVsZXMtYnV0dG9uLWljb24tc2l6ZSArIDUpfTtcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xyXG4gICAgICAgICYubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1jb250cm9sLXBhbmVsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICYucm93LWNvbnRyb2xzIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBTbyB0aGUgY29udHJvbHMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHRoZXJlIGlzIG5vIGdyaWQtY29udGFpbmVyLlxyXG4gICAgJi5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgIHRvcDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtY29udHJvbC1idXR0b25zIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyO1xyXG4gICAgcGFkZGluZzogJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgLy8gQnV0dG9uIHN0eWxlcy5cclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb2R1bGUtaW5mbyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMjknO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMzIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcbiAgICAubW9kdWxlcy1pbmZvLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5nZW5lcmFsLWluZm9ybWF0aW9uLXBhbmVsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IHVsID4gbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSwgaDYge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXHJcblxyXG5cclxuLy8gLS0tLS0gU29ydGluZyBBcmVhIC0tLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICB9XHJcbiAgICAuc29ydGluZy1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI5MHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbHRlcik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRpbnRlcmFjdGl2ZS1tYXAtZmlsdGVyLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcGFyYXRvciB7XHJcbiAgICAgICAgbWFyZ2luOiA3cHggMCAycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuLy8gLS0tLS0gQ29tbW9uIHN0eWxlcyBmb3Igc2VhcmNoIHJlc3VsdHMgKyBpbnRlcmFjdGl2ZSBtYXAgLS0tLS0gXHJcbi5zdG9ja2lzdC1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODB2aDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTB2aDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VhcmNoIFJlc3VsdHMgLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZHJlc3Mge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgKyAudGVsZXBob25lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKyAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGVsZXBob25lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53ZWJzaXRlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoNXB4IDMwcHgsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIDEyLCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCA0MHB4IDAgMCwgMCkpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBJbnRlcmFjdGl2ZSBNYXAgLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsb2NhdGlvbik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XHJcbiAgICBtaW4taGVpZ2h0OiA2MHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuLm9yZ2FuaXNhdGlvbi1jb250YWluZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcC1uby1yZXN1bHRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaW5mby13aW5kb3ctYWRkcmVzcy10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC5pbmZvLXdpbmRvdy1hZGRyZXNzLCAudGVsZXBob25lIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbmZvLXdpbmRvdy1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcblxyXG4qL1xyXG5cclxuXHJcbi50cmVlLW1lbnUge1xyXG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcclxuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHR9XHJcbiAgICAvLyBDb21tb24gU3R5bGVzLlxyXG4gICAgdWwge1xyXG5cdFx0cGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR9XHJcblx0XHRsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuXHRcdFx0bWF4LWhlaWdodDogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuXHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0aGVpZ2h0OiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLWZvbnQtc2l6ZTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW47XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGxhYmVsLmFjdGl2ZSB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC8vIENoaWxkIG5vZGVzLlxyXG5cdFx0XHQmIH4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xyXG5cdFx0XHRcdC8vIFRPRE86IHRoaXMgbmVlZHMgdG8gYmUgbWFkZSBkeW5hbWljYWxseS5cclxuXHRcdFx0XHQvLyBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvLCBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cdC8vIExldmVsIDFcclxuICAgID4gdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cdFx0PiBsaSB7XHJcblx0XHRcdD4gbGFiZWwge1xyXG5cdFx0XHRcdHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpub3QoLnRyZWUtbWVudS1wYXJlbnQpIHtcclxuXHRcdFx0XHQubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBMZXZlbCAyXHJcblx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcblx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdC8vIFVzZWQgdG8gc2hvdyB0aGUgbGV2ZWwgMiBub2RlcyBpbiBncm91cHMuXHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHR9XHRcclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAkdHJlZS1tZW51LW5vZGUtc2VwZXJhdG9yLWJvcmRlcjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cGFkZGluZzogMCA1cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soNSArIHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDEsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDQsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gTGV2ZWwgMysgKCAzcmQgbGV2ZWwgYW5kIGFueSBsb3dlciApXHJcblx0XHRcdFx0XHQgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTdweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMCAjeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpfTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMX07XHJcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7NSArICgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgMSwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQvLyBFeHRlbmRpbmcgbGluZSBvdGhlcndpc2UgaWYgdGhpcyBpcyBub3QgdGhlIGxhc3QgY2hpbGQgdGhlbiBhIGdhcCB3aWxsIGZvcm0gaW4gdGhlIHRoZSB0cmVlJ3MgbGluZXMuXHJcblx0XHRcdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdD4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAtI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIgKSArIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnRyZWUtbWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0dWwge1xyXG5cdFx0XHQudHJlZS1tZW51LXBhcmVudCB7XHJcblx0XHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAycHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogY2FsYygxMDAlICsgI3skdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZX0pO1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHRvcDogLSN7JHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemV9O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSl9O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0bGkge1xyXG5cdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHQvLyBKb2lucyBub2RlIHRvIHRyZWUuXHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAjeygoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKSAtICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpKX07XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAzKX07XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikpfTtcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC8vIEFzc2V0cyBzdHlsZXMuXHJcbiAgICAmLmFzc2V0cyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdFx0PiB1bCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYXNzZXRzLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHQvLyBPbmx5IGFkZCB0aGUgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHBhcmVudCBub2RlJ3MgbGFiZWwuXHJcblx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdD4gbGFiZWwgeyBcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYXNzZXRzLXJvb3QtbGFiZWwtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0fVx0XHRcclxuICAgICAgICAgICAgfVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cclxuXHQuYXR0YWNobWVudHMtY29udGFpbmVyIHtcclxuXHRcdHVsIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdH1cclxuXHRcdC5hdHRhY2htZW50IHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYWxlcnQtbm9kZSB7XHJcblx0XHQ+IGxhYmVsIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIHtcclxuXHRcdFx0LnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LmFsZXJ0LXZhbHVlIHtcclxuXHRcdFx0XHQudmFsdWUsIC5sYWJlbCB7XHJcblx0XHRcdFx0XHRjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnZhbHVlIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcdFxyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdG1heC13aWR0aDogNzAwcHg7XHJcblx0cGFkZGluZzogMTBweCAwO1xyXG5cdC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0Jjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdH1cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdH1cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdH1cclxuXHR9XHJcblx0LmxhYmVsIHtcclxuXHRcdG1heC13aWR0aDogMjI1cHg7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0QGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHBhZGRpbmc6IDMwcHggMjJweDtcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLW1lbnUtaGVhZGVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0cGFkZGluZzogMTVweCAwIDIwcHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHR9XHJcblx0LnRyZWUtbWVudS1jb250cm9scyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cdC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cdC50cmVlLWluZm9ybWF0aW9uIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdCYuYWxlcnQge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHR3aWR0aDogMTBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxMHB4IDAgNXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFRvZ2dsZSBidXR0b25zIGZvciBjb2xsYXBzaW5nIG9yIGV4cGFuZGluZyB0aGUgZW50aXJlIHRyZWUgLS0tLS1cclxuLnRyZWUtbWVudS1leHBhbmQtdG9nZ2xlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC1zaXplOiAuODEyNXJlbTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGNvbG9yOiAkY29sb3VyNDtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuXHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTtcdFx0XHRcdFxyXG5cdH1cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKlxyXG4tLS0tLSBSZXZpZXdzIC0tLS0tIFxyXG4tIEhhbmRsZXMgaW50ZXJmYWNpbmcgd2l0aCB0aGlyZC1wYXJ0eSByZXZpZXcgYXBpJ3MgbGlrZSBmZWVmby5cclxuKi9cclxuXHJcblxyXG4ucmF0aW5nLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC5yZXZpZXctc3RhcnMge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLnN0YXItZnVsbCwgW2NsYXNzKj1yYXRpbmctaWNvbl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByYXRpbmcpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlldy1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIC5kaXNwbGF5LW5hbWUtY29udGFpbmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICYgKyAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICctJztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRpc3BsYXktbG9jYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmxpc3QtY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAuY3VycmVudC1zaG93aW5nLWNvdW50IHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlld3MtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnJldmlld3MtcGFnZXItY29udGFpbmVyIHtcclxuICAgICAgICAmICsgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlcnZpY2UtcHJvdmlkZXItbG9nbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVlZm8tbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHNoYXJlZC1pY29ucy1kaXJlY3Rvcnl9ZmVlZm8tbG9nby5wbmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJldmlld3MtcHJvZHVjdC1yZXZpZXctYWxsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmV2aWV3LXNvY2lhbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyICsgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAuaGVscGZ1bC12b3Rlcy1kaXNwbGF5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZvdGUtdXApO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qXHJcbi0tLS0tIFBhZ2UgU2VjdGlvbiBDb2xvdXJzIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQtY29sb3VycyB0byBzcGVjaWZpYyBzZWN0aW9ucyBvbiBzcGVjaWZpYyBwYWdlcyBhY3Jvc3MgZXhwcmVzcyB1c2luZyB0aGUgYm9keSBpZCwgc28gYSBwb3RlbnRpYWwgY29uZmlnIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxyXG5cclxuaGVhZGVyLXVzcC1iYXI6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xLFxyXG4gICAgcGFnZXM6IChcImhvbWVwYWdlXCIpXHJcbilcclxuXHJcblRoZSB0b3AgbGV2ZWwgbWFwIGtleSBpcyB0aGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQgdGhhdCB5b3Ugd2FudCB0byBlZmZlY3QgdGhlbiBpbnNpZGUgb2YgdGhhdCBpcyB0aGUgY29uZmlndXJhdGlvbiBpLmUgYmFja2dyb3VuZCBjb2xvdXIgKyB3aGljaCBwYWdlcyB0byBhcHBseSB0aGlzIHRvIHdoaWNoIGlzIGEgbGlzdCBvZiBib2R5IGlkJ3MuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyBjb25maWcuXHJcbkBlYWNoICRlbGVtZW50LCAkY29uZmlnIGluICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMge1xyXG4gICAgLy8gR2V0IHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gR2V0IHBhZ2VzIHRoaXMgaXMgYXBwbGljYWJsZSB0b28uXHJcbiAgICAkcGFnZXM6IG1hcC1nZXQoJGNvbmZpZywgcGFnZXMpO1xyXG4gICAgQGlmICgkcGFnZXMpIHtcclxuICAgICAgICBAZWFjaCAkcGFnZSBpbiAkcGFnZXMge1xyXG4gICAgICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgICAgIC4jeyRlbGVtZW50fSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAd2FybiBcIlBhZ2Ugc2VjdGlvbiBjb2xvdXJzOiBObyBiYWNrZ3JvdW5kLWNvbG91ciBwcm92aWRlZCBmb3IgI3skZWxlbWVudH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiUGFnZSBzZWN0aW9uIGNvbG91cnM6IE5vIHBhZ2VzIHByb3ZpZGVkIGZvciAjeyRlbGVtZW50fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdGFyIFJhdGluZ3MgLS0tLSBcclxuSGFuZGxlcyBzdGFyIHJhdGluZ3MgZm9yIHByb2R1Y3RzLCB0aGlzIHN1cHBvcnRzIHBlcnNlbnRhZ2UgYmFzZWQgcmF0aW5nLCBoZXJlIGlzIGFuIG92ZXJ2aWV3IG9mIHdoYXQgdGhpcyB3b3VsZCBsb29rIGxpa2UgaHR0cHM6Ly9jb2RlcGVuLmlvL2ZpbGNwL3Blbi9RdlpWT2cgLlxyXG5cclxuKi9cclxuXHJcbi5zdGFyLXJhdGluZ3MtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJhdGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWNrZ3JvdW5kLXN0YXJzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgaW5hY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcmxhcCB0aGUgZm9yZWdyb3VuZCBzdGFycyB0byBtYWtlIHRoZW0gYXBwZWFyIGxpa2UgdGhleSdyZSBjb2xvdXJpbmcgaW4gdGhlIGJhY2tncm91bmQgc3RhcnMuXHJcbiAgICAuZm9yZWdyb3VuZC1zdGFycyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE91dHB1dCByYXRpbmcgdG90YWxzICggaS5lIGF2ZXJhZ2UsIG1heCAmIHRvdGFsIGNvdW50IClcclxuICAgIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyYXRpbmctc3VtbWFyeS1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgLmJyZWFrZG93bi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxufVxyXG4uYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIC5wZXJjZW50YWdlLWJhciB7IFxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5iYWNrZ3JvdW5kLWJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5wZXJjZW50YWdlLWJhciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgaW5hY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JlZ3JvdW5kLWJhciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC5wZXJjZW50YWdlLWJhciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJyZWFrZG93bi1jb3VudC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbn1cclxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQmFyY29kZSBTY2FubmVyIC0tLS0tLSBcclxuXHJcbiovXHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEwcHggMTVweCwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29sb3VyLCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYm9yZGVyLWNvbG91ci1kZXNrdG9wLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZShcImFzc29jaWF0ZWRcIiksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCdhc3NvY2lhdGVkJyksIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGZsZXgsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1pY29uLWNvbmZpZywgMSk7XHJcbn1cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXJ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB2aWRlbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLy8gVmlldyBmaW5kZXIgb3ZlcmxheS5cclxuICAgIGNhbnZhcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLmlzLWluYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7KDE1cHggKyAoKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gMikgKiAyKSArICR0b29sdGlwLWluZm8taWNvbi1zaXplKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItcmVzcG9uc2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMDtcclxufSIsIi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBJbWFnZSAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kIGltYWdlKHMpIHRvIHNwZWNpZmljIHBhZ2UgdHlwZXMgdXNpbmcgdGhlIGJvZHkgaWQsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb246XHJcblxyXG5ob21lcGFnZTogKFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZSA9PiBbIFJFUVVJUkVEIF0gVGhlIHVybCBvZiB0aGUgaW1hZ2UuXHJcbiAgICByZXBlYXQtYmFja2dyb3VuZCA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBuby1yZXBlYXQuXHJcbiAgICBiYWNrZ3JvdW5kLXNjYWxlID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIGNvdmVyLlxyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50cyA9PiBbIE9QVElPTkFMIF1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gPT4gWyBPUFRJT05BTCBdXHJcbilcclxuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXMgY29uZmlnLlxyXG5AZWFjaCAkcGFnZSwgJGNvbmZpZyBpbiAkcGFnZS1iYWNrZ3JvdW5kLWltYWdlcyB7XHJcbiAgICAvLyBHZXQgc2VjdGlvbiBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWltYWdlOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgLy8gU2hvdWxkIHdlIHJlcGVhdCB0aGUgYmFja2dyb3VuZD9cclxuICAgICRyZXBlYXQtYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCByZXBlYXQtYmFja2dyb3VuZCk7XHJcbiAgICAvLyBIb3cgc2hvdWxkIHdlIHNjYWxlIHRoZSBiYWNrZ3JvdW5kP1xyXG4gICAgJGJhY2tncm91bmQtc2NhbGU6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1zY2FsZSk7XHJcbiAgICAvLyBCYWNrZ3JvdW5kIGF0dGFjaG1lbnQgKCBwYXJhbGxheCBlZmZlY3QgKT9cclxuICAgICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGlmKGNvbnRhaW5zKCRjb25maWcsIFwiYmFja2dyb3VuZC1hdHRhY2htZW50XCIpLCBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtYXR0YWNobWVudCksIGZhbHNlKTtcclxuICAgIC8vIEJhY2tncm91bmQgcG9zaXRpb25cclxuICAgICRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZihjb250YWlucygkY29uZmlnLCBcImJhY2tncm91bmQtcG9zaXRpb25cIiksIG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1wb3NpdGlvbiksIGZhbHNlKTtcclxuICAgIEBpZiAoJGJhY2tncm91bmQtaW1hZ2UpIHtcclxuICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skYmFja2dyb3VuZC1pbWFnZX1cIik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBpZigkcmVwZWF0LWJhY2tncm91bmQsICN7JHJlcGVhdC1iYWNrZ3JvdW5kfSwgbm8tcmVwZWF0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBpZigkYmFja2dyb3VuZC1zY2FsZSwgI3skYmFja2dyb3VuZC1zY2FsZX0sIGNvdmVyKTtcclxuICAgICAgICAgICAgQGlmICRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiAkYmFja2dyb3VuZC1hdHRhY2hlbWVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGJhY2tncm91bmQtcG9zaXRpb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJhY2tncm91bmQtcG9zaXRpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIlBhZ2UgQmFja2dyb3VuZHM6IE5vIGJhY2tncm91bmQgaW1hZ2UgcHJvdmlkZWQgZm9yIHBhZ2UgI3skcGFnZX1cIjtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRhZ3MgLS0tLS1cclxuVXNlZCB0byBkaXNwbGF5IGEgY2F0YWdvcmlzYXRpb24gb2YgZ3JvdXBzIC8ga2V5d29yZHMsIHRoaXMgaWEgcHJpbWFyaWx5IHVzZWQgaW4gdGhlIGNtcyBzeXN0ZW0gY3VycmVudGx5IGZvciBkaXBsc2F5IG5ld3MsIGJsb2dzICYgZXZlbnQncyBhcnRpY2xlcy5cclxuKi9cclxuXHJcbi50YWdnaW5nLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYuYWxpZ24tY2VudGVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gSXMgdGhpcyBpcyBhIGxpc3RpbmcgcGFnZT9cclxuICAgICYubGlzdGluZyB7XHJcbiAgICAgICAgLnRhZ2dpbmctaGVhZGluZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhZ3MtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNXB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIC8vIFRoZSBhY3R1YWwgdGFnLlxyXG4gICAgLnRhZy1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAvL21hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWctcmVtb3ZlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBeGlzIFRvZ2dsZXIgLS0tLS1cclxuQnVpbGQgb250b3Agb2YgRm91bmRhdGlvbnMgdG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sLCB3ZSBuZWVkZWQgdG8gYWRkIGluIHNvbWUgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGZvciByZS10b2dnbGluZyBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY29udGVudCBhcmVhLlxyXG4qL1xyXG5cclxuLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnRvZ2dsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAvLyBNdXN0IGJlIHNldCBzbyBjb250ZW50IG92ZXJsYXBzIHRoZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgQ29sb3VycyAtLS0tLVxyXG5TaW1pbGFyIHRvIGF4aXMtc2VjdGlvbi1jb2xvdXJzIGEgY3VzdG9tIGNvbmZpZyBpcyBwcm92aWRlIHdoaWNoIGdldHMgbG9vcGVkIHRocm91Z2ggYXNzaWduaW5nIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IHRvIHRoZSByZWxpZXZlbnQgcGFnZXMuXHJcblxyXG5OT1RJQ0U6IEhhZCB0byBzZXQgdGhlICFpbXBvcnRhbnQgZmxhZyBvbiB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSBkdWUgdG8gZm91bmRhdGlvbiBlbmZvcmluZyB0aGF0IHRoZSBib2R5IGJhY2tncm91bmQgY29sb3VyIG11c3QgYmUgc2V0LlxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMgY29uZmlnLlxyXG5AZWFjaCAkcGFnZSwgJGNvbmZpZyBpbiAkcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnMge1xyXG4gICAgQGlmICgkcGFnZSA9PSBhbGwpIHtcclxuICAgICAgICBib2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBib2R5IyN7JHBhZ2V9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tLS1cclxuXHJcblByb3ZpZGVzIGFuIGFyZWEgdG8gcGxhY2Ugb3B0aW9ucyAoIGkuZSBhIGZvcm0gaW4gYSBob3Jpem9udGFsIGxheW91dCApIHdoaWNoIHRoZW4gZ2V0cyBmaWxsZWQgaW4gdG8gdXBkYXRlIG11bHRpcGxlIHBvaW50cyBvbiB0aGUgcGFnZS5cclxuXHJcbiovXHJcblxyXG4ubXVsdGktZmllbGQtbG9va3VwIHtcclxuICAgICYucXVpY2stb3JkZXIge1xyXG4gICAgICAgIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAmLnNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAYXQtcm9vdCB7IFxyXG4gICAgICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gUmVkdWNpbmcgbWFyZ2luIGJvdHRvbSBhcyBvbi1wYWdlLW5vdGlmaWNhdGlvbnMgYWxyZWFkeSBoYXZlIDEwcHggdG9wICsgYm90dG9tIHBhZGRpbmcuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9va3VwLW9wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubG9va3VwLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBidXR0b24gYXJlIGNhcHBlZCBhdCB0aGUgc2FtZSBoZWlnaHQgYSB0aGUgaW5wdXRzLlxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV0IHRoZSBjb250YWluZXJzIGRpY3RhdGUgdGhlIHdpZHRoIGFuZCBqdXN0IHNvYWsgdXAgdGhlIGF2aWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm11bHRpLWZpZWxkLXJlc3BvbnNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7LyohXG4gKiBhbmltYXRlLmNzcyAtIGh0dHBzOi8vYW5pbWF0ZS5zdHlsZS9cbiAqIFZlcnNpb24gLSA0LjEuMVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMCBBbmltYXRlLmNzc1xuICovXG46cm9vdCB7XG4gIC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG4gIC0tYW5pbWF0ZS1kZWxheTogMXM7XG4gIC0tYW5pbWF0ZS1yZXBlYXQ6IDE7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2luZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0zIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAzKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0xcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTJzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTRzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3RlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG59XG5AbWVkaWEgcHJpbnQsIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hbmltYXRlX19hbmltYXRlZFtjbGFzcyo9J091dCddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKiBBdHRlbnRpb24gc2Vla2VycyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3B1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3J1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2hha2VYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VYO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VYO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zaGFrZVkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG4uYW5pbWF0ZV9faGVhZFNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX3N3aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX190YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX193b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9famVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi5hbmltYXRlX19oZWFydEJlYXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFydEJlYXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbi8qIEJhY2sgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luVXA7XG59XG4vKiBCYWNrIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG59XG4vKiBCb3VuY2luZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cbi8qIEJvdW5jaW5nIGV4aXRzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Ub3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Ub3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG59XG4vKiBGYWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRVcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG59XG4vKiBGbGlwcGVycyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcE91dFkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG4vKiBMaWdodHNwZWVkICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cbi8qIFJvdGF0aW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG4vKiBSb3RhdGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG4vKiBTcGVjaWFscyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2phY2tJblRoZUJveCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbiAgYW5pbWF0aW9uLW5hbWU6IGphY2tJblRoZUJveDtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fcm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG4vKiBab29taW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cbi8qIFpvb21pbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbi8qIFNsaWRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbn1cbi8qIFNsaWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xufVxuIiwiXHJcbi8qXHJcblxyXG4tLS0tLSBBeGlzIEVsZW1lbnQgUHJpbnQgLS0tLS0gXHJcbkFsbG93cyB5b3UgdG8gc2VsZWN0IGFuIGVsZW1lbnQgdG8gYmUgcHJpbnRlZCBpbnNpZGUgb2YgdGhlIERPTS5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCBnZW5lcmFsIGZvcm1hdHRpbmcgb2YgdGV4dCB3aGVuIGluIHByaW50IHZpZXcgYW5kIHdoaWNoIGVsZW1lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGFzIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgdGhlbSB0byBiZSB0aGVyZS5cclxuXHJcbiovXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gICAgLnBlLW5vLXByaW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBlLXByZXNlcnZlLWFuY2VzdG9yIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVtb3ZlIGFueSBzdGljayBlbGVtZW50cyBhcyB0aGlzIHJlYWxseSBkb2Vzbid0IHdvcmsgdmVyeSB3ZWxsIGluIHByaW50ZXIgdmlldy5cclxuICAgIFtkYXRhLWF4aXMtc3RpY2t5XSwgW2RhdGEtc3RpY2t5LWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGlzIGlzIG5vdCBuZWVkZWQgaW4gcHJpbnQgdmlldy5cclxuICAgIC5lbnF1aXJ5LWZpbHRlcnMge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhbGwtdHlwZS1pY29uLCAuY2FsbC1zb3VyY2UtaWNvbiB7XHJcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gaDIge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIC5jb2wtbGFiZWwge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBydWxlIGR1ZSB0byBiYWNrZ3JvdW5kIGNvbG9ycyBiZWluZyBzdXBwcmVzc2VkLCBhbHNvIGluY3JlYXNpbmcgd2VpZ2h0IGZvciBwb29yIHF1YWxpdHkgcHJpbnRlcnMuXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMy0yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9uJ3Qgc2hvdyBwYWdlIGJ1dHRvbnMuXHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciwgLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIE1ha2UgYWxsIHRleHQgaXMgdmlzaWJsZS5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFNldHRpbmcgcG9zaXRpb24gYWJzb2x1dGUgb3RoZXJ3aXNlIGlmIHRoZSBtb2RhbCBjb250ZW50IGlzIGJpZ2dlciB0aGFuIGEgQTQgcGFnZSB0aGUgY29udGVudCBnZXRzIGN1dCBvZmYgZHVlIHRvIG9idmlvdXNseSBub3QgYmVpbmcgYWJsZSB0byBzY3JvbGwuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLS0gXHJcblNwZWNpZmljYWxseSBoYW5kbGVzIHRoZSBzdHlsaW5nIGZvciBBWElTIERvY3VtZW50YXRpb24sIHRoZXJlIHdpbGwgYmUgc2ltaWxhcml0aWVzIGJldHdlZW4gdGhpcyBjb2RlIGFuZCBjbXMgY29udGFpbmVycy5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCB0aGUgZm9sbG93aW5nIHBhZ2UgdHlwZXM6XHJcbi0tIFByb2R1Y3RzXHJcbi0tLS0gQm9va3NcclxuLS0tLS0tIENoYXB0ZXJzXHJcbi0tLS0tLS0tIEFydGljbGVzXHJcbi0tLS0tLS0tIEZ1bmN0aW9uc1xyXG4tLS0tLS0tLS0tIEFydGljbGVcclxuKi9cclxuXHJcblxyXG4vLyBIb2xkcyB0aGluZ3MgbGlrZSBkb2N1bWVudGF0aW9uIHNlYXJjaCwgYWNjZXNzIGxldmVsLlxyXG4uZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgfVxyXG4gICAgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlYXJjaC16b25lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBjb252ZW50aW9uIG9mIHNwYW5uaW5nIHRoZSBlbnRpcmUgd2lkdGggdXNlZCB3aGVuIGRpc3BsYXlpbmcgYSBjb252ZW50aW9uYWwgZm9ybS5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBEb2N1bWVudGF0aW9uIGxpc3RcclxuLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLnNpdGUtc3R5bGUge1xyXG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmICsgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICYuc3RyaXBlcyB7XHJcbiAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBzdWJtZW51IHRoZW4gcmV2ZXJ0IHRoZSBvcmRlci5cclxuICAgICAgICAgICAgICAgICAgICBsaS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBnYXA6IDAgNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBLZWVwIGNvbnRleHQgbWVudSBpbmxpbmUgd2l0aCBhbmNob3IuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nLCAxKSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gdGhlIHRvb2x0aXAgaWNvbiBpcyBpZ25vcmluZyB0aGUgYWxpZ24taXRlbTogYmFzZWxpbmU7IHNldCBvbiB0aGUgcGFyZW50IGxpIHRoaXMgdmFyaWVzIGRlcGVuZGFudCBvbiB0aGUgZm9udCBiZWluZyB1c2VkLCBzbyB0aGlzIHdhcyB0aGUgb25seSB3YXMgdG8gZ2V0IGNvbnNpc3RhbnQgYmVoYXZvdXIuXHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbmRleCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUeXBpY2FsbHkgdXNlZCBmb3IgcGFnZSBpbnRybydzLlxyXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyIHtcclxuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDU2cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJi5sYXlvdXQtMSB7XHJcbiAgICAgICAgbWFyZ2luOiAzNXB4IDAgNDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDVweCAwIDU1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMyksIDUwcHgsIDFweCwgKHJpZ2h0OiAwLCBib3R0b206IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IDApKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxheW91dC0yIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogODBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEsIGgyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1iYW5uZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IDVweCAyNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAvLyBKdXN0IGxldCB0aGUgY29udGVudCBmYWxsIG9uIHRoZSBwYWdlLlxyXG4gICAgICAgICAgICBmbGV4OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgYXR0YWNobWVudCBzdHlsZXMuXHJcbiAgICAuYXR0YWNobWVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7ICAgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBCZXNwb2tlIGljb25zIGZvciB0aGlzIGFyZWEuXHJcbiAgICAgICAgJi5wcmludGVyLWxpbmsge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlcik7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG9jdW1lbnRhdGlvbi1wdWJsaWMtbGluayB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRvY3VtZW50YXRpb24tcHVibGljLXVybCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH0gICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb2N1bWVudGF0aW9uLXN0YXRpc3RpY3Mge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkb2N1bWVudGF0aW9uLXN0YXRpc3RpY3MpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGUgZG9jdW1lbnRhdGlvbiBoZWFkaW5nIHN0eWxlcyBhcmUgdXNpbmcgdGhlc2UgcnVsZXMgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGNtcy1oZWFkaW5nIG1peGluLCB0aGUgbW9zdCBvYnZpb3VzIHJ1bGUgY29uZmxpY3Rpb24gaXMgbm90IHVzaW5nIHRoZSBwcmltYXJ5LWNvbG91ciBmb3IgdGhlIHRleHQgY29sb3VyLCB0aGVyZSBpcyBhbHNvIG1vcmUgb2YgYSB1c2Ugb2YgcnVsZXMgd2l0aCBoMSAmIGgyLlxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIGFnYWluIGFzIHRoZSBydWxlIGlzIHB1dCB0aGUgYWJvdmUgY29udGVudCBhd2F5IGFuZCBtYWtlIHRoZSBjb250ZW50IGJlbG93IHNlZW0gY2xvc2UgdG8gZm9ybSBtb3JlIG9mIGEgZ3JvdXBlZCBhZmZlY3QuXHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgxKTsgXHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICAgICAgJiArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46ICBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgyKTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMyk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDQpOyBcclxuICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICBjb2xvcjogJGhlYWRpbmctNC1jb2xvdXI7XHJcbiAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNSk7IFxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLTUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNik7IFxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLTYtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgJi5pbmRlbnRlZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICB9XHJcbiAgICAmLmluZGVudGVkLXJ1bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjMtMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRkb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXItbWFyZ2luO1xyXG4gICAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZztcclxuICAgICAgICBib3JkZXItdG9wOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1mb290ZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1mb290ZXItY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU7XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIC8vIFBvc2l0aW9uIHJlbGF0aXZlIHJlcXVpcmUgdG8ga2VlcCBjb250ZXh0IG1lbnUgaW4gcGxhY2UuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXlvdXR1YmUtdmlkZW8oKTtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1pbWFnZSgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkge1xyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksICYuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgYSwgdGFibGUgdGhlYWQgdGgsIHRhYmxlIHRib2R5IHRkIHtcclxuICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tbm90LXB1Ymxpc2hlZCB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8vIE1ha2Ugc3VyZSBpZiBhbiBpdGVtIGhhcyBhIHRvZ2dsZSBidXR0b24gdGhhdCBjaGlsZCBpdGVtKHMpIGtlZXAgaXRlbSBkZXNjcmlwdGlvbnMgaW5saW5lLiBcclxudWwuZnVuY3Rpb25zLWxpc3Q6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgLy8gS2VlcGluZyBjb25zaXN0YW50IGFjcm9zcyBhbGwgZGV2aWNlcyAuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gRG8gdGhlIHNhbWUgZm9yIGxvd2VyIGxldmVsIG1lbnVzLlxyXG4gICAgdWwubWVudTpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUuZnVuY3Rpb25zLWxpc3Qge1xyXG4gICAgLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9ubHkgYWZmZWN0IHRoZSByb290IGxldmVsLlxyXG4gICAgPiBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjE7XHJcbiAgICB9XHJcbiAgICAvLyBDYXNjYWRlLlxyXG4gICAgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC8vIEFsaWduaW5nIHRvIHRoZSBjZW50ZXIgZHVlIHRvIGluY29uc2lzdGFuY2llcyBpbiBpY29uIGxpYnJhcmllcyBhbmQgZm9udCBsaWJyYXJ5cy5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gU28gdGhlIGNvbnRleHQgbWVudSByZW1haW5zIGluIHRoZSBzYW1lIHBsYWNlIHdoZW4gY2FzY2FkaW5nIGRvd24gdGhlIGxldmVscyBpbiBhIGxpc3QuXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgPiBhLCA+IGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHRvZ2dsZSBidXR0b24gYWxsb3cgdGhhdCB0byBzdHJpbmsgdGhpcyBjb250ZW50IHRvIGZpdCBuZXh0IHRvIGl0LlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZ1bmN0aW9ucy1tZW51LWFycm93LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCAyLlxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5kZXgge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWxsb3cgaW5kZXggdG8gZGljdGF0ZSBob3cgbXVjaCBzcGFjZSB0byBzcGFuIGFjcm9zcy5cclxuICAgICAgICAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmhhcy1zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAvLyAgICAgYSB7XHJcbiAgICAvLyAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nIGFsaWduIGNvbnRlbnQgdmVydGljYWxseSBjZW50ZXJhbCB0byB0aGUgY2hldnJvbiBpbiB0aGUgdG9nZ2xlLWJ1dHRvbi5cclxuICAgIC8vICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgIHBhZGRpbmc6IDEwcHggNXB4OyBcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJyZWFkY3J1bWJzLXNlcGVyYXRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDdweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3VsdHMtc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24ge1xyXG4gICAgICAgIC8vIE92ZXJyaWRlIHNlY29uZGFyeS1idXR0b24gc3R5bGVzIHNsaWdodGx5IHRvIGNvbmZvcm0gd2l0aCBvdGhlciBkb2N1bWVudGF0aW9uIGJ1dHRvbnMuXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdGF0aXN0aWNzIHBhZ2UuXHJcbi5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQXVkaXQgdHJhaWwgLyByZXZpc2lvbiByZWxhdGVkIGVsZW1lbnRzLlxyXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyIHtcclxuICAgICYuc2VwZXJhdG9yIHtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDVweDsgLy8gcmVkdWNpbmcgZHVlIHRvIGFjY291bnQgZm9yIGxpbmUtaGVpZ2h0LlxyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyBkaXNwbGF5ZWQgb24gdGhlIHByZXZpZXcgcGFnZS5cclxuLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB7XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBUaGlzIHdhcyBvcmlnaW5hbGx5IGltcGxlbWVudGVkIGZvciB0aGUgc3RhdGljIGJ1aWxkIGdvb2dsZS10YWctbWFuYWdlci1ldmVudHMuXHJcbi50ZWNobmljYWwtZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWRlbW8tbGluay1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcclxufVxyXG5cclxuLmluc3BlY3QtcHJvbXB0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcclxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuICAgIC5jb25maWd1cmF0aW9uLXNlY3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZWNobmljYWwtbGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0YXRlLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXN0YXRlLWNvbG91cik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmtleS12YWx1ZS1wYWlyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIC5uYW1lIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uZXV0cmFsaXNlZC1pdGVtcyB7XHJcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLm5hbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiPT5cIjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YWx1ZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQ29udGV4dCBNZW51IC0tLS0tLSBcclxuRXNzZW50aWFsbHkgYSB0b29sYmFyIC8gdG9vbGJveCBtZW51XHJcbiovXHJcblxyXG4uY29udGV4dC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB6LWluZGV4OiAkY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSwgJi5pcy1jbG9zaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB6LWluZGV4OiAjeygkY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4ICsgMSl9O1xyXG4gICAgfVxyXG5cclxuICAgIG9sLCB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9sLCB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gV2lsbCBiZSBvayBhdCB0aGUgdGltZSBvZiBidWlsZGluZyBidXQgbWF5IGhhdmUgdG8gZXh0ZW5kIGluIHRoZSBmdXR1cmUgdG8gdXNlIEpTIHRvIGdpdmUgYW4gZXhhY3QgbWVhc3VyZS5cclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiByb3RhdGUoMjVkZWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvbCwgdWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy9ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSGVpZ2h0IHVzZWQgdG8gc3RvcCBib3JkZXJzIGZyb20gb3ZlcmxhcHBpbmcgdHJpZ2dlciBidXR0b24gaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0ZS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC5lZGl0LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vIER1ZSB0byB1c2luZyBhIG1peHR1cmUgb2YgZm9udCBmYW1pbGllcyBoYXZpbmcgdG8gc2V0IHRvIGNlbnRlciBpbnN0ZWFkIG9mIGJhc2VsaW5lLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24tbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb21tb24gc3R5bGVzIGJldHdlZW4gYWxsIGJ1dHRvbnMuXHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBcclxuICAgICAgICAvLyBTdGF0dXMgT3B0aW9ucy5cclxuICAgICAgICAmLmFjY2Vzcy1sZXZlbCB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWFjY2Vzcy1sZXZlbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0wIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0xIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0yIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTMsICYuc3RhdGUtdmFsdWUtNCB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wdWJsaXNoZWQge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1wdWJsaXNoZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtdHJ1ZSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtZmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRWRpdCBPcHRpb25zLlxyXG4gICAgICAgICYuZWRpdC1tZW51IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbWVudS1lZGl0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVkaXQtdGV4dCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtdGV4dCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lZGl0LXByb3BlcnRpZXMgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtZWRpdC1wcm9wZXJ0aWVzLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtdXAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlLXVwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLWRvd24gLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlLWRvd24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1iZWZvcmUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYmVmb3JlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWJlZm9yZS1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYWZ0ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYWZ0ZXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYWZ0ZXItaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHJvbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LXByb21vdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWRlbW90ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGVsZXRlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZGVsZXRlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtYXJ0aWNsZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmF1ZGl0LXRyYWlsIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtYXVkaXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS0tIFxyXG5FZGdlIGVmZmVjdCB3aGVyZSB0aGUgaXMgdHlwaWNhbGx5IDMgdG9uZXMgb2YgYSBzcGVjaWZpYyBjb2xvdXIgaW4gdGhlIGNvcm5lciBvZiBhIGVsZW1lbnQgLyBjb21wb25lbnQuXHJcblBvc3NpYmxlIGNsYXNzIGNvbmZpZ3VyYXRpb24gb3B0aW9uczpcclxuLSBPcGFjaXR5IGVudW1lcmF0aW9uICggSGlnaCwgTWVkaXVtLCBMb3cgKVxyXG4tIFBvc2l0aW9uIFRvcCArIEJvdHRvbSBMICYgUiBjb3JuZXJzXHJcblxyXG5Gb3IgYSBkZW1vbnN0cmF0aW9uIGdvIHRvIC9zdGF0aWMvZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXRlc3QuaHRtbFxyXG4qL1xyXG5cclxuXHJcblxyXG4uZ3JhZHVhdGVkLWNvbG91ci1lZGdlIHtcclxuICAgIC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0OiB2YXIoLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodCwgI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXN0ZXAtaGVpZ2h0fSk7XHJcbiAgICAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg6IDYwMHB4O1xyXG4gICAgd2lkdGg6ICRncmFkdWF0ZWQtc3RlcC13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gVG9wIExlZnQuXHJcbiAgICAmLnBvc2l0aW9uLTEge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gVG9wIFJpZ2h0LlxyXG4gICAgJi5wb3NpdGlvbi0yIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBCb3R0b20gTGVmdC5cclxuICAgICYucG9zaXRpb24tMyB7XHJcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBCb3R0b20gUmlnaHQuXHJcbiAgICAmLnBvc2l0aW9uLTQge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTEge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjk7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMiB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BhY2l0eS0zIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjI7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0ZXAge1xyXG4gICAgICAgIHdpZHRoOiAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEF4aXMgUmljaCBUZXh0IEVkaXRvcnMgLS0tLS0gXHJcbkJlc3Bva2UgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB3aGVuIGludGVyZ3JhdGluZyB3aXRoIHRoaXJkLXBhcnR5IGVkaXRvcnMuXHJcblxyXG5HZW5lcmFsIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgdG8gLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHdoaWNoIGlzIHRoZSBjb21tb24gY29udGFpbmVyIHRoYXQgZ2V0cyB1c2VkIGFjcm9zcyBhbGwgZWRpdG9ycy5cclxuKi9cclxuXHJcbi8vIE1ha2Ugc3VyZSBja2VkaXRvcidzIGNvbnRlbnQgb3ZlcmxhcHMgbW9kYWxzIGFzIGl0IGRvZXMgRE9NIG1hbmlwbGF0aW9uIG91dHNpZGUgb2YgbW9kYWxzLlxyXG4uY2stYm9keS13cmFwcGVyIHtcclxuICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IG92ZXJsYXBzIG1vZGFscy5cclxuICAgIHotaW5kZXg6ICN7KCRtb2RhbC1jb250ZW50LXotaW5kZXggKyAyMCl9O1xyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNrLWVkaXRvciB7XHJcbiAgICAuY2stY29udGVudCB7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xyXG4gICAgLy8gRWRpdG9yIHNwZWNpZmljIENTUyB2YXJpYWJsZXMuXHJcbiAgICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAjeyRjb2xvdXIzLTF9O1xyXG4gICAgLS1jay1jb2xvci1iYXNlLWVycm9yOiAje21hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCl9O1xyXG4gICAgLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAje3NwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKX07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tdGV4dDogI3skYm9keS1mb250LWNvbG91cn07XHJcbn1cclxuLy8gTWFrZSBzdXJlIHRleHQgYXJlYSBpcyBub3Qgc2hvd24gd2hlbiBpbml0aWFsaXNpbmcuXHJcbltkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0ge1xyXG4gICAgLy8gQmVmb3JlIGluaXRpYWxpc2F0aW9uIG1ha2Ugc3VyZSBjb250ZW50IGlzIG1pbi1oZWlnaHQ6IDEwMHB4IGZvciBzcGlubmVyLlxyXG4gICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAmOm5vdCgucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIpIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG4gICAgPiB0ZXh0YXJlYSB7XHJcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9ICAgXHJcbn1cclxuLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyBmb3JtYWwgcGFnZSBidXR0b25zIGhhcyBub3cgYmVlbiBpbXBsZW1lbnRlZCBmb3IgbW9kYWxzIDg2MjU2Ni5cclxuLy8gLnN1Ym1pc3Npb24tY29udHJvbHMtY29udGFpbmVyIHtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbi8vIH1cclxuXHJcbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBcclxufVxyXG5cclxuLy8gSW5kZW50YXRpb24uXHJcbkBmb3IgJGluZGVudGF0aW9uLWxldmVsIGZyb20gMSB0aHJvdWdoICRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW1heC1sZXZlbHMge1xyXG4gICAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0jeyRpbmRlbnRhdGlvbi1sZXZlbH0ge1xyXG4gICAgICAgIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygjeyRpbmRlbnRhdGlvbi1sZXZlbH0gKiAjeyRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICYgKyB1bCwgJiArIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skaW5kZW50YXRpb24tbGV2ZWx9ICogI3skcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuXHJcbi0tLS0tIFZpZGVvIFBsYXllciAtLS0tXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciBlbWJlZGRpbmcgWW91dHViZSB2aWRlb3MgLyBCYW5uZXIgc2VyaWVzLiAvc3RhdGljL3ZpZGVvLXNlcmllcy5odG1sXHJcblxyXG5IYW5kbGVzOlxyXG4tIFRodW1ibmFpbCBwbGF5IGljb24uXHJcbi0gRHVyYXRpb24gZm9ybWF0dGluZy5cclxuLSBWaWRlbyBpbmRpY2F0b3IgdGV4dCAoIGNsaWNrIGhlcmUgdG8gd2F0Y2ggdmlkZW8gKVxyXG5cclxuKi9cclxuXHJcblxyXG5cclxuLnZpZGVvLXBsYXllci1jb250YWluZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIEBpbmNsdWRlIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICB9XHJcbiAgICAuZHVyYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItZHVyYXRpb24taWNvbnMpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIC8vIEZvcmNlIHJlYWQgbW9yZSBjb250YWluZXJzIHRvIHNocmluayB0byBmaXQgYXZhaWxhYmxlIGFyZWEuXHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuICBNdWx0aW1lZGlhIEVsZW1lbnRcclxuICBcclxuICBIYW5kbGVzIHN0eWxpbmcgZm9yIHZpZGVvIHBsYXliYWNrXHJcblxyXG4qL1xyXG5cclxuLy8gR2VuZXJhbCB2aWRlbyBydWxlcy5cclxudmlkZW8ge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmlkZW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYmVzcG9rZSBvdmVybGF5IGZvciBTYWZhcmkgZHVlIHRvIG5vIFxyXG4gICAgQHN1cHBvcnRzIG5vdCAoLWFwcGxlLXBheS1idXR0b24tc3R5bGU6IGluaGVyaXQpIHtcclxuICAgICAgICAmLmlzLXJlYWR5LXRvLXBsYXkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2aWRlby1wbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlcGxheS12aWRlbyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZGVvLXJlcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFVuc3VwcG9ydGVkIG1lZGlhIHR5cGUuXHJcbi5zb3VyY2UtdW5zdXBwb3J0ZWQge1xyXG4gICAgJiA+IHZpZGVvIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJiA+IGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRmFsbGJhY2sgZWxlbWVudC5cclxuW2RhdGEtZmFsbGJhY2tdIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmZhbGxiYWNrLWVsZW1lbnQge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLmZhbGxiYWNrLXRleHQge1xyXG4gICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDEwKTtcclxuICAgICAgICAkZXJyb3ItaWNvbi1zaXplOiAzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogI3soJGVycm9yLWljb24tc2l6ZSArIDIwKX0gMWZyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLWNvbG91ciwgLjgpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZXJyb3ItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmVycm9yLWRldGFpbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiwgZGl2IHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBEaXNhYmxlIG91dGxpbmUgd2hlbiBpbnRlbnQgaXMgY2xlYXJseSBtb3VzZSBhbmQgdG91Y2hcbiAgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSB7XG4gICAgKiwgKjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGUgaU9TIGNhbGxvdXRzIHdoZW4gZHJhZ2dhYmxlIGlzIGZhbHNlXG4gIFtkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgXCJwcmltYXJ5XCI6ICMxNzc5YmEsXG4gIFwic2Vjb25kYXJ5XCI6ICM3Njc2NzYsXG4gIFwic3VjY2Vzc1wiOiAjM2FkYjc2LFxuICBcIndhcm5pbmdcIjogI2ZmYWUwMCxcbiAgXCJhbGVydFwiOiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgc2FmZSBwYWRkaW5nIG9uIHRoZSBib2R5IGZvciBub24tcmVjdGFuZ3VsYXIgZGV2aWNlcyAoaS5lLiBwaG9uZXMgd2l0aCBub3RjaGVzKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGlmICgkYm9keS1zYWZlLXBhZGRpbmcpIHtcbiAgICAgIC8vIHVzaW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBhY2NvdW50IGZvciBub24tcmVjdGFuZ3VsYXIgZGlzcGxheXMgZS5nLiBwaG9uZXMgd2l0aCBub3RjaGVzXG4gICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgICAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAgICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLWJwLXZhbHVlOiBudWxsO1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZGl2aWRlKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSwgJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZSBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgKiAwLjUgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAvLyAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCBkaXZpZGUoJGV4cG9uZW50LCAkZGVub21pbmF0b3IpKSwgZGl2aWRlKCRwcmVjMiwgJGRlbm9taW5hdG9yKSwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICRiYXNlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IGRpdmlkZSgxLCAkbikgKiAoKCRuIC0gMSkgKiAkeCArIGRpdmlkZSgkbnVtLCBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuIGRpdmlkZSgkaCwgJHcpICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKGRpdmlkZSgkcGFyc2VkLW5vbWluYXRvciwgJHBhcnNlZC1kZW5vbWluYXRvcikpO1xufVxuXG4vLy8gRGl2aWRlIHRoZSBnaXZlbiBgJGRpdmlkZW50YCBieSB0aGUgZ2l2ZW4gYCRkaXZpc29yYC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aWRlbnQgLSBUaGUgZGl2aWRlbnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpc29yIC0gVGhlIGRpdmlzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwcmVjaXNpb24gLSBUaGUgcHJlY2lzaW9uIGRlY2ltYWxzIGZvciB0aGUgZGl2aXNpb24uXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBkaXZpc2lvbi5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTIpIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgJ0Nhbm5vdCBkaXZpZGUgYnkgMCc7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIDAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnJSc6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSk7XG4gICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgIH1cbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSAvIDIpKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcblxuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuICdDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fSc7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsIGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiAgJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiAgJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICAvLyBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIC8vICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAwLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gMC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIE1vZGUgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSUUxMCsgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc2hvdy1mb3ItaWUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZGUtZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgVmlzaWJpbGl0eVxuICAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLypcclxuLS0tLS0gTWVudXMgLS0tLS1cclxuVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgSSBhbSBzdGlsbCBtaWdyYXRpbmcgZnJvbSBhIG1hc3NpdmUgYmxvYiBvZiBjb2RlIGVtYmVkZGVkIGluIGhlYWRlci5zY3NzLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIERyb3Bkb3duc1xyXG4tIERyaWxsIGRvd25zXHJcbi0gQWNjb3JkaW9uc1xyXG4tIE1lZ2EgbWVudVxyXG4gIC0gTWVnYSBtZW51IHNlZSBtb3JlIGxpbmsuXHJcbiAgLSBFQkcgaW1hZ2UuXHJcbiovXHJcblxyXG4ubWVudS1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRtZW51cy1oZWFkZXItY29sb3VyKTtcclxuICAgIH1cclxuICAgIC5tZW51LWhlYWRpbmcge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRtZW51cy1oZWFkZXItY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLWhlYWRlci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtaGVhZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZXRzIHdyYXBwZWQgYXJvdW5kIGFsbCBtZW51cy5cclxuLm1lbnUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLy8gU3VwcmVzc2luZyBkdWUgdG8gbWVnYSBtZW51IG92ZXJsYXBwaW5nIGRyb3Bkb3duIG1lbnVzLlxyXG4gICAgLy8gei1pbmRleDogNTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgZm9yIGJhc2tldCBwcmV2aWV3LCBzZWFyY2ggJiBtb2JpbGUgbWVnYSBtZW51LlxyXG4gICAgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLm1lbnUtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAkbWVudS1uYXYtdGV4dC1tYXJnaW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNb2JpbGUgZXhwaWVyYW5jZS5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyBMZXZlbCAxXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtYm9yZGVyLWJvdHRvbSwgc21hbGwpO1xyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItYm9yZGVyLXRvcCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLWxpLWJvcmRlciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIExldmVsIDNcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb250YWluZXItbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQWNjb3JkaW9uIE1lbnUgLS0tXHJcbiAgICAmLmFjY29yZGlvbi1tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZle1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSB7XHJcbiAgICAgICAgLy8gTGV2ZWwgMS5cclxuICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy8gSWYgdGhlIGFuY2hvciBpcyBsaW5raW5nIHRvIHBhZ2UgYnV0IHdlIHdhbnQgbWVudSB0b2dnbGUgYnV0dG9uLlxyXG4gICAgJi5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgPiBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBhbmQgdXNpbmcgRXhwcmVzcydzIHNpdGUtaWNvbnMgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgLnN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJtZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsaSB7XHJcbiAgICAgICAgLy8gICAgIC8vIE1ha2Ugc3VyZSBpZiBhbiBpdGVtIGhhcyBhIHRvZ2dsZSBidXR0b24gdGhhdCBjaGlsZCBpdGVtKHMpIGtlZXAgaXRlbSBkZXNjcmlwdGlvbnMgaW5saW5lLiBcclxuICAgICAgICAvLyAgICAgJi5oYXMtc3VibWVudS10b2dnbGUge1xyXG4gICAgICAgIC8vICAgICAgICAgJiB+IGxpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICAmOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgJjpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEJhY2tncm91bmQgY29sb3VyLCB0ZXh0IGNvbG91ciwgaG93IHdlIGhhbmRsZSBFR0IgZ3JvdXAgY29sb3Vycy4gLS0tLS1cclxuICAgIC8vIENhcnJ5IG91dCBzb21lIHByZS1wcm9jZXNzaW5nIG9mIHRoZSBjb2xvdXJzIHRvIHRlc3QgdGhlIGxlZ2liaWxpdHkgb2YgdGhlIGNvbnRlbnQgYWdhaW5zdCB0aGVpciBiYWNrZ3JvdW5kcy5cclxuICAgIC8vIC0tLSBHcmFuZCBwYXJlbnQgY29sb3Vycy4gLS0tXHJcbiAgICAvLyBNb2JpbGVcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBDaGlsZCBjb2xvdXJzIC0tLSBcclxuICAgIC8vIFRPRE86XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAbWl4aW4gZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgIC8vIElmIGVCdXNpbmVzcyBncm91cCBiYWNrZ3JvdW5kIGlzIGNvbmZpZ3VyZWQuXHJcbiAgICAgJi5lYmctY29sb3VyLWJhY2tncm91bmQgIHtcclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYTpob3ZlciwgbGk6aG92ZXIgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpOyBcclxuICAgICAgICAgICAgICAgIGxpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgZUJ1c2luZXNzIGdyb3VwIGNvbG91ciBvbiBob3ZlciBpcyBjb25maWd1cmVkLlxyXG4gICAgJi5lYmctY29sb3VyLWhvdmVyIHtcclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSk6aG92ZXIge1xyXG4gICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vICAgICA+IGEge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQgc3R5bGVzLlxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIExldmVsIDEgKCBHcmFuZHBhcmVudCApXHJcbiAgICA+IGxpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGNvbHVtbiBsYXlvdXQgZm9yIGZpbHRlcnMgYW5kIGl0IG1hZGUgc2Vuc2UgZm9yIGdlbmVyYWwgbWVudSBsb2dpYyBhcyB3ZWxsLlxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhLCA+IHAge1xyXG4gICAgICAgICAgICAmLmhhcy1saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLWZsZXgtZGlyZWN0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybywgaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgKyAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWRlc2NyaXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBmbGV4IGdyb3cgdG8gYWxsb3cgZm9yIHRoZSBhbmNob3IgdG8gdGFrZSB1cCBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciAoIHRoaW5rIHByb2R1Y3QgbGlzdCBmaWx0ZXJzICkuXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgbGluZS1oZWlnaHQgd2l0aCB0aGUgZ2xvYmFsIGxpbmUgaGVpZ2h0LlxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBpZigkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsZmxleC1zdGFydCxjZW50ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAvLyBTcGVjaWZpYyBoaWRpbmcgdGhpcyBvbiBwYWdlIGxvYWQgLyBpbnRpdGlhbGlzYXRpb24gdG8gcHJldmVudCBjb250ZW50IGZyb20gYmVpbmcgc2hvd24gdGhlbiBoaWRkZW4uXHJcbiAgICAgICAgICAgICY6bm90KC5zdWJtZW51KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZGVmYXVsdC1tZW51LWRyb3Bkb3duLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC8vIExldmVsIDMsIEFkZGluZyBjbGFzcyB0byBub3QgYnJlYWsgbG93ZXIgZG93biBsaXN0cyAoIGkuZSBjb250ZXh0IG1lbnUgKVxyXG4gICAgICAgICAgICAgICAgdWwgbGkuaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaSwgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZWdhLW1lbnUtbGluay1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgcG9zaXRpb25pbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEdyb3VwIGluZGljYXRvciBpbiBtb2JpbGUuXHJcbiAgICAgICAgICAgICAgICAvLyAmLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5kcm9wZG93biB7XHJcbiAgICAgICAgbGkgPiBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJRiB3ZSBzcGVjaWZpY2FsbHkgd2FudCB0byBhZGQgYSByYWRpdXMgdG8gdGhlIGJvdHRvbSBvZiBzdWJtZW51IGFuY2hvcnMgKCBiZXdhcmUgdGhpcyBtYXkgbG9vayBvZGQgd2l0aCBkcm9wZG93biBtZW51cyApLlxyXG4gICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJvdHRvbTogaWYoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzLCAzKSwgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cywgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSAkYm9yZGVyLXJhZGl1cy1ib3R0b20gJGJvcmRlci1yYWRpdXMtYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCkge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gTm90IGEgc2l0ZS1zZXR0aW5nIGR1ZSB0byBkZXNpZ24gY2FsbGVkIGZvciBjaGV2cm9uIHRvIGJlIG9uIGJlZm9yZSB0aGUgdGV4dCBpbnN0ZWFkIG9mIGFmdGVyLlxyXG4gICAgICAgICAgICAgICAgJjpub3QoLnNpdGUtc2V0dGluZy1tZW51KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGdyYW5kLXBhcmVudC1jb2xvdXIsICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub24tcGFnZS1tZW51IHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEhvbWUgYnV0dG9uIC0tLS0tIFxyXG4gICAgLy8gTGVnaWJpbGl0eSBjaGVja2VyLlxyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJGhvbWUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob21lLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkaG9tZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkaG9tZS1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBob3ZlciksJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGhvbWUtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAuaG9tZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkaG9tZS1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaG9tZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhvbWUtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIHBhZGRpbmcgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGhvbWUtc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIGhlaWdodCkgLyAxLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTUlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBBY2NvdW50IE1lbnUgLS0tLS0gXHJcbiAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIERlY2xhaXJpbmcgcGFkZGluZyBoZXJlIGFzIHdlbGwgdG8gb3ZlcnJpZGUgZGVmYXVsdCBtZW51IGFuY2hvciBzdHlsaW5nLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIHByZWZpeCBjaGV2cm9uLlxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbiAgICAvLyAtLS0tLSBNb2JpbGUgc2l0ZSBzZXR0aW5nIG1lbnVzIC0tLS0gXHJcbiAgICAuc2l0ZS1zZXR0aW5nLW1lbnUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMjJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlci1ib3JkZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVuY3ktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmN1cnJlbmN5LWljb24gIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyNCwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVuY3kge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gdG8gZm9yY2Ugc2l0ZSBzZXR0aW5nIGRyb3Bkb3duIHRvIHBpbiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAje3NwYWNpbmctdmFsdWUoJGhlYWRlci11cHBlci1wYWRkaW5nLCAxKX0pICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRvIG92ZXJyaWRlIGRlZmF1bHQgbWVudSBzdHlsZXMuXHJcbiAgICAgICAgJi5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUsICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGEgeyBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBob3ZlciksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBFeHBsaWNpdGx5IGhhbmRsaW5nIGNvbnRhY3QgaWNvbnMgb24gYW5jaG9ycy5cclxudWwubWVudSB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgYVtocmVmXj1cInRlbDpcIl0sIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogQ29uZmlnIG5hbWVzIG5lZWQgdG8gYmUgcmVmYWN0b3IgdG8gYmUgbW9yZSBnZW5lcmljIGFzIHRoaXMgY29kZSBjYW4gbm93IGJlIHVzZWQgYW55d2hlcmUuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItdXBwZXItaWNvbi1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXVwcGVyLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGhlYWRlci11cHBlci1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICAgICAgQGlmICRtZW51cy1lbWFpbC1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtZW1haWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudXMtZW1haWwtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFbaHJlZl49XCJ0ZWw6XCJdIHtcclxuICAgICAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0ICB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGVsZXBob25lKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJG1lbnVzLXRlbGVwaG9uZS1pY29uLXJvdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLXRlbGVwaG9uZS1pY29uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudXMtdGVsZXBob25lLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpZiAkbWVnYS1tZW51LXNob3ctaWNvbnMge1xyXG4gICAgW2NsYXNzXj1cIm1lbnUtaWNvbi1cIl0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG1lZ2EtbWVudS1zaG93LWljb25zLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWljb25zLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtaWNvbnMtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkbWVnYS1tZW51LWljb25zLWZvbnQtZmFtaWx5LCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1pY29ucy1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWljb24tYWNjb3VudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLm1lbnUtc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTdWJtZW51J3MgLS0tLS0tIFxyXG4uc3VibWVudSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiA0MDA7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIC8vIE9ubHkgYXBwbHkgdGhlIGZvb3RlciBib3JkZXIgdG8gdGhlIHNlY29uZCBsZXZlbCBvZiBhIG1lbnUuXHJcbiAgICAvLyBUT0RPOiBuZWVkIHRvIHdvcmsgb3V0IHRoZSB1c2Ugb2YgLmxldmVsIGNsYXNzZXMgYW5kIGluc3RlYWQgdXNlIHBhcmVudCBjaGlsZCByZWxhdGlvbnNoaXAncyBiZXR3ZWVuIHVsIGxpIGFzIHdlIHJlY3Vyc2l2aWx5IHRyYXZlcnNlIGRvd24uXHJcbiAgICAmLmxldmVsMiB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gYXMgdGhpcyBpcyBjYXVzaW5nIGEgc3RlcC5cclxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgJi5vcGVucy1yaWdodCB7XHJcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICRzdWJtZW51LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1lbnVzLWxldmVsLTItcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc3VibWVudS1wYWRkaW5nID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JHN1Ym1lbnUtcGFkZGluZ30pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZW51IEVCRyBpbWFnZS5cclxuLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gc3BhbiB0aGUgZW50aXJlIHdpZHRoIG9mIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICAvLyB3aWR0aDogJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zO1xyXG4gICAgICAgIC8vaGVpZ2h0OiAkbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkbWVnYS1tZW51LWltYWdlLWRlc2t0b3AtbWFyZ2luO1xyXG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiBsYXN0LWxpbmU7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgQGlmICgkbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRtZWdhLW1lbnUtaW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1lZ2EgbWVudSAtLS0tLS0gXHJcbi8vIE1lZ2EgbWVudSBnZW5lcmFsIHN0eWxlc1xyXG4vLyBTcGVjaWZpY2FsbHkgbWVnYSBtZW51IHN0eWxlcyAoIGkuZSBjb2x1bW4gbGF5b3V0cyApXHJcbi5tZWdhLW1lbnUtY29udGFpbmVyIHtcclxuICAgIC0tbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjogI3tzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKX07XHJcbiAgICAvLyBEb24ndCB3cmFwIGFzIHRoaXMgd2lsbCBjYXVzZSBpc3N1ZXMgd2hlbiB1c2luZyB0aGUgZHJvcGRvd24uXHJcbiAgICA+IHVsLm1lbnUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgLy8gTWVnYSBtZW51IGNvbHVtbiBsYXlvdXQgaW4gZGVza3RvcC5cclxuICAgICAgICAgICAgQGZvciAkY291bnQgZnJvbSAxIHRocm91Z2ggJG1lZ2EtbWVudS1tYXgtY29sdW1ucyB7XHJcbiAgICAgICAgICAgICAgICAmW2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIiN7JGNvdW50fVwiXSA+IGxpID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gV29yayBvdXQgZ3V0dGVycy5cclxuICAgICAgICAgICAgICAgICAgICAkZ3V0dGVyczogKCgkY291bnQgLSAxKSAqIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBcHBseSBjb2x1bW4gY291bnQsIHRha2UgYXZhaWxhYmxlIHNwYWNlIGludG8gYWNjb3VudCAoIGkuZSBkcm9wZG93biBwYWRkaW5nIC8gZ3V0dGVycyApXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skY291bnR9LCBjYWxjKCgjeyRtZWdhLW1lbnUtZHJvcGRvd24tY29udGVudC1jb250YWluZXJ9IC0gI3soJGd1dHRlcnMpfSkgLyAjeyRjb3VudH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBNZWdhIG1lbnUgaW1hZ2UgcG9zaXRpb24sIHRoaXMgd2lsbCBvYnZpb3VzbHkgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGUgY29sdW1uIGNvdW50LlxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogI3skY291bnR9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICAvLyBMZXZlbCAyIFxyXG4gICAgICAgICAgICAmOmhvdmVyID4gLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgICAgICAgICAgICAgIGdhcDogJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYub3ZlcmZsb3ctc2Nyb2xsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIER1ZSB0byB0aGUgc2Nyb2xsYmFyIHB1c2ggdGhlIGNvbnRlbnQgbGVmdC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogI3soc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZywgMiwgbGFyZ2UpIC0gMTdweCl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3QgZ3JvdXAgZG9lc24ndCBnZXQgc2hvd24gYXMgaXRzIGJlZW4gZHVwbGljYXRlZCBpbnRvIHRoZSBzdWJtZW51LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGksIC5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFJldmVyc2luZyB0aGlzIGNoYW5nZSBhcyBpdCB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdoZW4gc29tZSBncm91cCBkaWRuJ3QgaGF2ZSBhbnkgY29sb3VyJ3MgY29uZmlndXJlZC5cclxuICAgICAgICAgICAgICAgICAgICAvLyAmOm5vdChbc3R5bGUqPVwiLS1lYmctXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lbnUtZ3JvdXAtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIGhvdmVyIGljb25zLCBub3JtYWxseSB0aGlzIGlzIHBvc2l0aW9uZWQgdG8gdGhlIGxlZnQgb2YgdGhlIGdyb3VwLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgaWNvbiBmb3IgbGFyZ2Ugd2hlbiBhbmNob3IgaXMgaW4gaXRzIGRlZmF1bHQgc3RhdGUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxpLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICBAaWYgbm90ICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3VycHJlc3NpbmcgdGhpcyBpbiBmYXZvdXIgaWYgdXNpbmcgZmxleGJveCBhcyB3ZSBjdXJyZW50bHkgZG9udCBuZWVkIHRoaXMgY29tcGxleGl0eSwgdGhpcyBvbmx5IGNvbmZ1c2VzIHRoaW5ncyB3aGVuIGhhdmUgdG8gaGFuZGxlIHRoZSB2aWV3IG1vcmUgaXRlbSBhdCB0aGVuIGVuZCBvZiBhXHJcbiAgICAvLyAubWVnYS1tZW51LWNvbHVtbi1zcGFuIHtcclxuICAgIC8vICAgICA+IC5zdWJtZW51IHtcclxuICAgIC8vICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIC8vICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi13cmFwKSwgMWZyKTtcclxuICAgIC8vICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcclxuICAgIC8vICAgICAgICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICAubWVudSAuaGFzLWNsb25lZC1ncm91cHMge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVnYW1lbnUtY29sdW1uLWNsb25lZC1zcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4tY2xvbmVkLXdyYXApLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jaGlsZGZyZWUtcGFyZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29sdW1uLXNwYW5uZWQge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb25lZC10by1zZXBlcmF0ZS1yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHVsLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkYWNjb3VudC1tZW51LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB1bC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogIG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICYgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBhbnkgYXJyb3dzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMb3dlciBsZXZlbCBncm91cCBpdGVtcyB0byBiZSBzdXBwcmVzc2VkLlxyXG4gICAgICAgICAgICAgICAgICAgICYgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBlcnNpc3RlbnQtZWJnLWltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvICN7c3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSl9O1xyXG4gICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZWdhLW1lbnUtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgIC8vIC0tLS0tIEJhY2tncm91bmQgY29sb3VyLCB0ZXh0IGNvbG91ciwgaG93IHdlIGhhbmRsZSBFR0IgZ3JvdXAgY29sb3Vycy4gLS0tLS1cclxuICAgIC8vIENhcnJ5IG91dCBzb21lIHByZS1wcm9jZXNzaW5nIG9mIHRoZSBjb2xvdXJzIHRvIHRlc3QgdGhlIGxlZ2liaWxpdHkgb2YgdGhlIGNvbnRlbnQgYWdhaW5zdCB0aGVpciBiYWNrZ3JvdW5kcy5cclxuICAgIC8vIC0tLSBHcmFuZCBwYXJlbnQgY29sb3Vycy4gLS0tXHJcbiAgICAvLyBNb2JpbGVcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91ciwgc21hbGwpO1xyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LXNtYWxsKSwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBQYXJlbnQgY29sb3VycyAtLS0gXHJcbiAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkcGFyZW50LWNvbG91cjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIC0tLSBDaGlsZCBjb2xvdXJzIC0tLSBcclxuICAgIC8vIFRPRE86XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGNoaWxkLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1kZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci4gXHJcbiAgICAkY2hpbGQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkY2hpbGQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1hY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAbWl4aW4gZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAvLyBGb3Igd2hlbiB3ZSBkb24ndCBoYXZlIHJpZ2h0IG1lbnUgaW4gdGhlIGhlYWRlci1tZW51LWlubmVyLWNvbnRhaW5lci5cclxuICAgICAgICBAaWYgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIExldmVsIDIgLS0tIFxyXG4gICAgLmxldmVsMiB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgIFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAvLyBQcmV2ZW50IHN1Ym1lbnUgZnJvbSBjaGFuZ2luZyBjb2xvdXIgd2hlbiBhY3RpdmUuXHJcbiAgICAuc3VibWVudSB7XHJcbiAgICAgICAgbGkuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTGV2ZWwgMSAoIEdyYW5kcGFyZW50IClcclxuICAgIHVsLm1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIGEgbWF4aW11bSB3aWR0aCBmb3IgZWFjaCBtZW51IGl0ZW0sIGVzc2VudGlhbGx5IGZvcmNpbmcgYSBsaW5lIGJyZWFrLlxyXG4gICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItbG93ZXItaXRlbS1ncm93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGlmKCRoZWFkZXItbG93ZXItdGV4dC1hbGlnbiA9PSBcImxlZnRcIixmbGV4LXN0YXJ0LGNlbnRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8gI3tpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvciwgXCIsYmFja2dyb3VuZC1jb2xvclwiICR0cmFuc2l0aW9uSW50cm8sICcnKX07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JhbmQtcGFyZW50LWFjdGl2ZS1zdHlsZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZW51LWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgJi5pcy1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGdyYW5kLXBhcmVudC1jb2xvdXIsICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpICE9ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIC8vIExlYXZpbmcgaGVyZSBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eS5cclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIGxhcmdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICAkZ3JhbmQtcGFyZW50LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZ2VuZXJpYyBvcGFjaXR5IGhvdmVyIGVmZmVjdCBhcHBsaWVkIHRvIGFsbCBhbmNob3JzLlxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIGZsYWcgdG8gb3ZlcnJpZGUgdGhlIHdpZHRoIGlmIHNldC5cclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogI3tpZigkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgsIDEwMCUsICRtZWdhLW1lbnUtZHJvcGRvd24td2lkdGgpfTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWxldmVsLTItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pIG9yIHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdGhlIGxvZ2ljIGhlcmUgdG8gb25seSBwdXQgaG92ZXIgdGV4dCBjb2xvdXIgd2hlbiBwYXJlbnQgZ3JvdXAgaXMgaG92ZXJlZCBhcyByZXF1ZXN0IGZyb20gdGhlIFFDIG9uIDgxOTYwNi5cclxuICAgICAgICAgICAgICAgICAgICAmID4gYTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGE6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGxldmVsIDNcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9PdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1sZXZlbC0yLWFuY2hvcigkcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGksIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG8ga2VlcCB0b3AgYW5kIGJvdHRvbSBjb25zaXN0ZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1hY3RpdmU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZpZXcgbW9yZSBidXR0b24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tZWdhLW1lbnUtdmlldy1tb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXdlaWdodDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBQcm9kdWN0IExpc3QgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBWYXJpb3VzIGxpc3Qgdmlld3M6XHJcbiAgLSBUYWJsZVxyXG4gIC0gR3JpZFxyXG4tIEFueXdoZXJlIGEgcHJvZHVjdCBsaXN0IGlzIHNob3cgKCBzZWFyY2ggcmVzdWx0cywgcHJvZHVjdCBieSBncm91cCwgYWNjb3VudCBhcmVhIHBhZ2VzICkgdGhpcyBjb2RlIHdpbGwgYmUgdXNlZC5cclxuLSBUaGlzIGZpbGUgaXMgTk9UIGRlZGljYXRlZCB0byBmaWx0ZXJzIGNvbnN1bHQgZmlsdGVyLnNjc3MgZm9yIHRoYXQuXHJcbi0gQWxsIHNvcnRpbmcgb3B0aW9ucyAoIGl0ZW1zIHBlciBwYWdlcywgdmlldyBzZWxlY3Rpb24sIHBhZ2luYXRpb24sIGl0ZW1zIGZvdW5kICYgc29ydCBieSApXHJcbi0gTm8gcmVzdWx0cyBmb3VuZC5cclxuKi9cclxuXHJcbiNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAvLyBGb3IgU2l0ZSBTZWFyY2ggMzYwIHRoZXkgdXNlIGEgaDIgaW5zdGVhZCBvZiBhIGgxIGZvciBzaG93aW5nIHRoZSBxdWVyeSB5b3Ugc2VhcmNoZWQgZm9yLlxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHtcclxuICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2biszKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2bisyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg2bisxKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEuc3VnZ2VzdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1mb250LXNpemUpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVjb21tZW5kZWQtcmVzdWx0cy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHJlY29tbWVuZGVkLXJlc3VsdHMtbWFyZ2luKTtcclxuXHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyLCAuc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5yZXN1bHQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5zZWN0aW9uLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VjdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXN0eWxlOiAkc2VjdGlvbi1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHNlY3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJHNlY3Rpb24taGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY3Rpb24taGVhZGluZy1ib3JkZXItY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI3Byb2R1Y3QtbGlzdCB7XHJcbiAgICAjZ3JvdXBEYXRhIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdExpc3RJdGVtIHtcclxuICAgIC5ncmlkLXggLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIsICRndXR0ZXJzOiAoc21hbGw6IDEwcHgsbGFyZ2U6IDMwcHgpKTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpc3RpbmctY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIC8vIE1hcmdpbiBpcyBhbHJlYWR5IGJlaW5nIHNldCBteSAuZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCksIHRoaXMgaGFzIG11Y2ggZ3JlYXRlciBhZmZlY3RzIGlmIHRoaXMgaXMgY2hhbmdlZC5cclxuICAgIC8vIEtlZXBzIGNvbnNpc3RlbnQgc3BhY2luZyB3aXRoIG1vZHVsZXMuXHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKSAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFRvIHByZXZlbnQgdGhlIG5ldyAmIG9sZCBjb250ZW50IGZyb20gYmVpbmcgZGlzcGxheWVkIGF0IHRoZSBzYW1lIHRpbWUuXHJcbiAgICAmW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIH1cclxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGZpbHRlcnMtZGVza3RvcC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBVc2luZyBwZXJzZW50YWdlIHRvIHRyeSBhbmQgZ2V0IGJhY2sgc29tZSBtb3JlIHNwYWNlIGJldHdlZW4gbGFyZ2UgYW5kIHh4bGFyZ2VcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxJSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZUxpc3R7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKCRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGggLSA2MCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNwcm9kdWN0TGlzdEl0ZW1zIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZSB0aGUgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgaW5zdGVhZC5cclxuICAgIC8vICNwcm9kdWN0TGlzdEl0ZW1zLmdyaWQge1xyXG4gICAgLy8gICAgIC8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4gICAgLy8gICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKGlmKCRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQsIHRydWUsIGZhbHNlKSwgdHJ1ZSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBTdHlsZXMgc3BlY2lmaWMgdG8gdGhlIHByb2R1Y3QgbGlzdC5cclxuICAgICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgJi5zZXBlcmF0b3IgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXSB7XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vZGRFdmVuIHtcclxuICAgICAgICAgICAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICYgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguc2VwZXJhdG9yKSwgJjpub3QoLm9kZEV2ZW4pIHtcclxuICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIGEgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWdub3JlIHRoZSBmaXJzdCByb3cgZm9yIGFzc2lnbmluZyB0aGUgbWFyZ2luIGFib3ZlIHRoZSBzdWItaGVhZGluZyBhcyB0aGUgZGVzaWduIGRvZXNuJ3QgcmVxdWlyZSBpdCA4MzE3NTYuXHJcbiAgICAgICAgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IHtcclxuICAgICAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmhlYWRDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC1hbGlnbik7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDU1JTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFJlbW92aW5nIGFic29sdXRlIHdpZHRocyBkdWUgdG8gdG9vIG1hbnkgd2F5cyBvZiBkaXNwbGF5aW5nIHRoaXMgdGFibGUuXHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAzNTZweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiA0NDBweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgaW4gZmF2b3VyIG9mIGxldHRpbmcgdGhlIGRlc2NyaXB0aW9uIGNvbHVtbiBmbG93LlxyXG4gICAgICAgICAgICAgICAgLy8gJiArIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxNC41JTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogOS41JTtcclxuICAgICAgICAgICAgICAgIC8vIG1pbi13aWR0aDogMjUlO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYXZvdXJpdGUtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA5LjUlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDM0JTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LCAuZmF2b3VyaXRlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtdGFibGUtbGF5b3V0LW1vYmlsZSgpO1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctcGFkZGluZztcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgQGlmICRwcm9kdWN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93IHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHByZXZlbnQgaGVpZ2h0IGR1ZSB0byBuZWVkaW5nIHRvIHN1cHBvcnQgcmVjdGFuZ2xlIGltYWdlcy5cclxuICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4sIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgICAgICAvLyBEb24ndCBmaXQtY29udGVudCBkdWUgdG8gZXh0ZXJuYWwgZGF0YSBzdXBwbHlpbmcgdmFyaW91cyBzaXplcy5cclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyAycHggdG8gYWxsb3cgZm9yIHRoZSBib3JkZXIgdG8gcHJldmVudCB0aGUgYnJvd3NlciBmcm9tIHNjYWxpbmcgdGhlIGltYWdlLlxyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1pbWFnZS13aWR0aCArIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWltYWdlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtZGVzY3JpcHRpb24tb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKTtcclxuICAgICAgICAgICAgICAgIC5zcGVjaWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtY29kZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtcHJpY2Utb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyAmICsgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wsICYgKyAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LW5vdC1sb2dnZWQtaW4tb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWxvZ2dpbi1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmludGVyYWN0aXZlLWNvbnRlbnQsIC5xdWFudGl0eS1jb250YWluZXIsIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCwgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCwgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrbGluZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LXF1YW50aXR5LXByaWNlLWZhdm91cml0ZXMtb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtcXVhbnRpdHktZGVza3RvcC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoKTs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmFkZC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hZGRUb0Jhc2tldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgaW5mYXZvdXIgb2YgdXNpbmcgZmxleGJveCBmb3IgYWxpZ25tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2l0aCB0aGUgaGVhZGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIC5mYXZvdXJpdGVzIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24td2VpZ2h0OyBcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci11bmRlcmxpbmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvZGUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJpY2UodHJ1ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJycCgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzYXZpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmVucXVpcnktY29sIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMTBweCAwO1xyXG4gICAgLnJlc3VsdC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDIwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIvKlxyXG5cclxuLS0tLSBBWElTIERlYnVnZ2VyIC0tLS0gXHJcblxyXG5UaGlzIGlzIGEgc2lkZSBwcm9qZWN0IG9mIG1pbmUgcHVybHkgdG8gbWFrZSBkZXYgbGlmZSBhIGxpdHRsZSBlYXNpZXIgLyBmYXN0ZXIgZXNzZW50aWFsbHkgdGhpcyBpcyBqdXN0IGEgZHJhd2VyIHdpdGggYSBidW5jaCBvZiBvcHRpb25zIHRvIGZsdXNoIGNhY2hlLCBzZXQgZGVidWcgbGV2ZWxzICYgY2xlYXIgdGhlIGNvbnNvbGUuXHJcblxyXG4qL1xyXG5cclxuJGRldmVsb3BtZW50LWRyYXdlci1pY29uczogKFxyXG4gICAgJ2NsZWFyLWNhY2hlJzogJ1xcZjFiOCcsXHJcbiAgICAnY2xlYXItY29uc29sZSc6ICdcXGYxMjAnLFxyXG4gICAgJ3NldC1kZWJ1Z2dpbmctbGV2ZWwnOiAnXFxmMTg4JyxcclxuICAgIFwidGVzdC1tb2RlXCI6ICdcXGY0OTInLFxyXG4gICAgXCJzaXRlLXN0eWxlXCI6ICdcXGY1M2YnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLmRldmVsb3BtZW50LWRyYXdlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgei1pbmRleDogODAwMDAwMDAwMDtcclxuICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4kb3B0aW9uLWljb24tc2l6ZTogMzhweDtcclxuXHJcbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDkpO1xyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VydmljZS13b3JrZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgLmhlYWRpbmcge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRyYXdlci1oZWFkZXIge1xyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9wdGlvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgc3R5bGVzXHJcbiAgICAgICAgJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjFcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0xMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTEwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0yMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTIwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjNcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0zMCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuMyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTMwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJltkZWJ1Zy1sZXZlbD1cIjRcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC00MCUpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkb3B0aW9uLWljb24tc2l6ZSAqIDEuNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTQwJSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY2xlYXItY2FjaGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBjbGVhci1jYWNoZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2xlYXItY29uc29sZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIGNsZWFyLWNvbnNvbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBzZXQtZGVidWdnaW5nLWxldmVsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5heGlzLXRlc3QtbW9kZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHRlc3QtbW9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1zdHlsZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHNpdGUtc3R5bGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBbZGF0YS1zbGlkZXItdmFsdWVdIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gge1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm9wdGlvbi1jb250cm9scy1jb250YWluZXIsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCJAY2hhcnNldCAndXRmLTgnO1xyXG4vLyBGb3VuZGF0aW9uIHNldHRpbmcuXHJcbkBpbXBvcnQgJ3NldHRpbmdzJztcclxuLy8gRm91bmRhdGlvbiBsaWJyYXJpZXMuXHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG4vLyBUYWJsZXMuXHJcbkBpbXBvcnQgJ3RhYmxlcy5zY3NzJztcclxuLy9JbnB1dCBzdHlsaW5nLlxyXG5AaW1wb3J0ICdpbnB1dHMuc2Nzcyc7XHJcbi8vRm9udGF3ZXNvbWUgbGlicmFyeS5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBnZXRzIGhhbmRsZWQgYnkgYnJhbmRpbmcuc2Nzc1xyXG4vL0BpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9mb250YXdlc29tZS5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9icmFuZHMuc2Nzc1wiO1xyXG5cclxuLy8gLS0tLS0gRXhwcmVzcyBDb21wb25lbnRzIC0tLS0tLSBcclxuLy9UT0RPOk5lZWQgdG8gbWFrZSBzb21lIHNvcnQgb2YgZnVuY3Rpb25hbGl0eSB0aGF0IGNhbiB0b2dnbGUgYmV0d2VlbiAzIGRpZmZlcmVudCB0eXBlcyBvZiBzdHlsZXNoZWV0cy5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zaXRlLXN0eWxlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZm9ybXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2hlYWRlci5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9mb290ZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hamF4XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9maWx0ZXJzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZGFscy5zY3NzXCI7XHJcbi8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4vL0BpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2R1bGVzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZHVsZXMtdjIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvc3RvY2staW5kaWNhdG9yc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvcHJvZHVjdC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9iYXNrZXQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvYWNjb3VudC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9jbXMtcGFnZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvY2hlY2tvdXQuc2Nzc1wiO1xyXG4vL0BpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9lbWFpbC10ZW1wbGF0ZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplLzQwNFwiO1xyXG5cclxuLy9Db21wb25lbnQgSW1wb3J0XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbGlnaHRib3hcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tYWduaWZpZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnhTbGlkZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zbGlkZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b29sdGlwXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmVhZC1tb3JlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYXV0b2NvbXBsZXRlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3N3ZWV0LWFsZXJ0LWljb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbm90aWZpY2F0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWltYWdlLW92ZXJsYXlzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY291bnRkb3duXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcHdhXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGF5bWVudC1tZXRob2RzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc29jaWFsLW1lZGlhLWljb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZXF1aXBtZW50LXNlbGVjdG9yXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGljay1uLW1peFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFuaW1hdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jbGllbnQtc2VhcmNoXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9wLWJhclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0eWxlLWd1aWRlXCI7XHJcbi8vIEFkbWluIGNvbXBvbmVudCBpcyBpbiBpdHMgXCIgcHJvdG90eXBlIFwiIHBoYXNlLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFkbWluXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL29mZl9jYW52YXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hY2NvcmRpb24tdGFic1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0aWNreVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWxpc3Qtc29ydGluZy1vcHRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWFuYWdlLWNhbGxzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmFjay10by10b3BcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zZWN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVsbGlwc2lzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmx1clwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0YXRpY1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0b2NraXN0XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdHJlZS1tZW51XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmV2aWV3c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2Utc2VjdGlvbi1jb2xvdXJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3Rhci1yYXRpbmdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYmFyY29kZS1zY2FubmVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1iYWNrZ3JvdW5kLWltYWdlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRhZ3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b2dnbGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tdWx0aS1maWVsZC1sb29rdXBcIjtcclxuXHJcbi8vQGltcG9ydCAnbW90aW9uLXVpJztcclxuLy9BbmltYXRlLmNzcyAoY3VzdG9tIGFuaW1hdGlvbiBsaWJyYXJ5KVxyXG5AaW1wb3J0ICcuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYW5pbWF0ZS5jc3MvYW5pbWF0ZSc7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZWxlbWVudC1wcmludFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWRvY3VtZW50YXRpb25cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jb250ZXh0LW1lbnVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2VcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yaWNoLXRleHQtZWRpdG9yXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdmlkZW8tcGxheWVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbXVsdGltZWRpYS1lbGVtZW50XCI7XHJcblxyXG4vLyBHbG9iYWwgc3R5bGVzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcblxyXG4vLyBHcmlkcyAoY2hvb3NlIG9uZSlcclxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcblxyXG4vLyBHZW5lcmljIGNvbXBvbmVudHNcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XHJcbi8vIEJhc2ljIGNvbXBvbmVudHNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcclxuXHJcbi8vIENvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuLy8gV2UgdXNlIG91ciBvd24gbW9kYWwgc3lzdGVtLlxyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xyXG4vLyBVc2luZyBjdXN0b20gc3R5bGVzIGZvciB0aGlzIGR1ZSB0byB0aGUgaGVhZGVyIGJlaW5nIHNvIGNvbXBsZXguXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcclxuXHJcbi8vIEhlbHBlcnNcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XHJcblxyXG4vLyBNb3Rpb24gVUlcclxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XHJcblxyXG4vLyBDb21wb25lbnRzIHRoYXQgbmVlZCB0byBiZSBsb2FkZWQgYWZ0ZXIgZm91bmRhdGlvbi5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tZW51c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvcHJvZHVjdC1saXN0LnNjc3NcIjtcclxuXHJcbkBpbXBvcnQgJy4uL2dsb2JhbC9kZWJ1Z2dlcic7XHJcblxyXG4vLy0tLS0tIEdsb2JhbCAtLS0tLSBcclxuOnJvb3Qge1xyXG4gICAgLy8gU2V0IENTUyB2YXJpYWJsZXMuXHJcblxyXG4gICAgLy8gLS0tIENvbG91ciBQYWxsZXRlIC0tLS1cclxuICAgIC8vIFByaW1hcnlcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInByaW1hcnktY29sb3VyXCIsICRwcmltYXJ5LWNvbG91cik7XHJcbiAgICAvLyBTZWNvbmRhcnlcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInNlY29uZGFyeS1jb2xvdXJcIiwgJHNlY29uZGFyeS1jb2xvdXIpO1xyXG4gICAgLy8gQWNjZW50IDFcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItMVwiLCAkYWNjZW50LWNvbG91ci0xKTtcclxuICAgIC8vIEFjY2VudCAyXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTJcIiwgJGFjY2VudC1jb2xvdXItMik7XHJcbiAgICAvLyBBY2NlbnQgM1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0zXCIsICRhY2NlbnQtY29sb3VyLTMpO1xyXG4gICAgLy8gQWNjZW50IDRcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItNFwiLCAkYWNjZW50LWNvbG91ci00KTtcclxuICAgIC8vIE5ldXRyYWwgQ29sb3VyXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJuZXV0cmFsLWNvbG91clwiLCAkbmV1dHJhbC1jb2xvdXIpO1xyXG4gICAgLy8gQmxhY2tcclxuICAgIC0tYmxhY2stY29sb3VyOiAjeyRjb2xvdXIyfTtcclxuICAgIC8vIFdoaXRlXHJcbiAgICAtLXdoaXRlLWNvbG91cjogI3skY29sb3VyMX07XHJcblxyXG4gICAgLy8gTm90aWZpY2F0aW9uIENvbG91cnMuXHJcbiAgICAvLy0tc3VjY2Vzcy1jb2xvdXItMDogI3skc3VjY2Vzcy1jb2xvdXJ9O1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic3VjY2Vzcy1jb2xvdXJcIiwgJHN1Y2Nlc3MtY29sb3VyKTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcIndhcm5pbmctY29sb3VyXCIsICR3YXJuaW5nLWNvbG91cik7XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhbGVydC1jb2xvdXJcIiwgJGFsZXJ0LWNvbG91cik7XHJcblxyXG4gICAgXHJcblxyXG4gICAgLy8gLS0tIENvbnRlbnQgV2lkdGggLS0tXHJcbiAgICAvLyBDb250YWluZXIgTWF4IFdpZHRocy5cclxuICAgIC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAjeyRnbG9iYWwtd2lkdGh9O1xyXG4gICAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogI3skZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRofTtcclxuXHJcbiAgICAvLyAtLS0gRm9udHMgLS0tLVxyXG4gICAgQGVhY2ggJGZvbnQtdHlwZSwgJGZvbnQtbmFtZSBpbiAkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzIHtcclxuICAgICAgICAtLSN7JGZvbnQtdHlwZX06ICN7JGZvbnQtbmFtZX07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEJvcmRlciBSYWRpdXMgLS0tXHJcbiAgICAtLXNtb290aC1lZGdlcy1lbmFibGVkOiAjeyRzbW9vdGgtZWRnZXMtZW5hYmxlZH07XHJcbiAgICAtLXNtb290aC1lZGdlcy1sZXZlbDogI3skc21vb3RoLWVkZ2VzLWxldmVsfTtcclxuICAgIC0tYm9yZGVyLXJhZGl1cy0xOiAjeyRib3JkZXJSYWRpdXMxfTtcclxuICAgIC0tYm9yZGVyLXJhZGl1cy0yOiAjeyRib3JkZXJSYWRpdXMyfTtcclxuXHJcbiAgICAvLyAtLS0gVHlwb2dyYXBneSAtLS1cclxuICAgIC8vIExpbmUgaGVpZ2h0LlxyXG4gICAgLS1nbG9iYWwtbGluZS1oZWlnaHQ6ICN7JGRlZmF1bHQtbGluZS1oZWlnaHR9O1xyXG4gICAgLy8gQ29sb3VyLlxyXG4gICAgLS10eXBvZ3JhcGh5LWJvZHktZm9udC1jb2xvdXI6ICN7JGJvZHktZm9udC1jb2xvdXJ9O1xyXG5cclxuICAgIC8vIC0tLSBCdXR0b25zIC0tLVxyXG4gICAgLS1idXR0b25zLWJvcmRlci1yYWRpdXM6ICN7JGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1c307XHJcbiAgICBcclxufVxyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGZvbnQgc3RhY2tzLlxyXG5AZWFjaCAka2V5LCAkbWV0cmljcyBpbiAkZm9udC1mYWxsYmFjay1tZXRyaWNzIHtcclxuICAgICRmb250LWZhbWlseTogbWFwLWdldCgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCAjeyRrZXl9LWZvbnQpO1xyXG4gICAgJG5hbWU6IG50aCgkZm9udC1mYW1pbHksIDEpO1xyXG4gICAgJGZhbGxiYWNrOiBtYXAtZ2V0KCRtZXRyaWNzLCBmYWxsYmFjayk7XHJcbiAgICBAaW5jbHVkZSBmb250LWZhbGxiYWNrKCRuYW1lLCAkZmFsbGJhY2ssICRtZXRyaWNzKTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICAvLyBBbGxvd2luZyBjb250ZW50IC8gZm9vdGVyIHRvIHVzZSBmbGV4LWdyb3cgd2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZmlsbCB0aGUgdmlld3BvcnQuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gRHVlIHRvIGEgYnVnIHdpdGggZm91bmF0aW9uJ3MgZ3V0dGVycyB3aGVuIHlvdSB1c2UgdGhlbSBpbiBhIG5lc3QgZ3JpZCBmb3JtYXQgdGhleSBjYXVzZSBhIGhvcml6b250YWwgc2Nyb2xsIGJhciB0byBhcHBlYXIuXHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuYm9keS5zY3JvbGxMb2NrIHtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG4vLyBTdXBwcmVzc2luZyB0aGlzIHRvIGFsbG93IGZvciBtb3JlIHNwYWNlIGZvciB0cmVlIG1lbnUncyBpbiBtb2JpbGUuXHJcbi8vIG1haW4sIGZvb3RlciAucm93LWJhY2tncm91bmQge1xyXG4vLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcbi8vICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBhZ2UtZ3V0dGVyKTtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5tYWluIHtcclxuICAgIC8vIENhcHBpbmcgbWFpbiBjb250ZW50IGF0IDE5MjBweCBhcyB0aGVyZSBzdGlsbCBpcyBlbm91Z2ggb2YgYSBkZW1haW4gb24gMmsgb3IgNGsgc3VwcG9ydCAoIGh0dHBzOi8vd3d3LnJlZGRpdC5jb20vci93ZWJkZXYvY29tbWVudHMvbWd1ODZ1L3Jlc3BvbnNpdmVfZGVzaWduX2Zvcl80a19zY3JlZW5zLyApIGFzIG9mIDIwMjQuXHJcbiAgICAvLyBtYXgtd2lkdGg6IDE5MjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBBbHdheXMgYWxpZ24gdG8gdGhlIGxlZnQgdGhlbiBhbGxvdyBjaGlsZCBjb250YWlucyB0byBwcm92aWRlIGNlbnRlciBhbGlnbm1lbnQuXHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIC8vIFdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpbGwgdGhlIHZpZXdwb3J0IG1ha2UgdGhlIG1haW4gY29udGFpbmVyIGdyb3cgdG8gcHVzaCB0aGUgZm9vdGVyIHRvIHRoZSBib3R0b20gb2YgdGhlIHdpbmRvdy5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICYgPiBkaXYge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuLy8gTWFrZSBzdXJlIGltYWdlcyBzdGF5IHdpdGhpbiB0aGVpciBjb250YWluZXJzLlxyXG4uaW1hZ2UgaW1nIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5ncmlkLXgge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDtcclxuICAgIH1cclxuICAgIC8vIFRoaXMgbWFyZ2luIHJ1bGUgd2FzIHB1dCBpbiBwbGFjZSBmb3IgPiAxOTIwIHNjcmVlbnMgYXMgd2UgZG9uJ3Qgd2FudCBjb250ZW50IHNwYW5uaW5nIGFjcm9zcyB0aGUgZW50aXJlIHZpZXdwb3J0IGJ1dCB3YW50IGl0IHRvIHN0aWxsIHJlbWFpbiBjZW50ZXJhbGlzZWQuIEN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiByZS13cml0aW5nIHRoZSBncmlkIHN5c3RlbSB0byB1c2UgR3JpZCBpbnN0ZWFkIG9mIEZsZXhib3gsIGR1ZSB0byBob3cgRm91bmRhdGlvbiB1c2VzIG1hcmdpbiB0byBjYWxjdWxhdGUgaXRzIGd1dHRlcnMgdGhpcyBjYW5ub3QgYmUgdXNlZCB0byBjZW50ZXJhbGlzZSB0aGUgY29udGVudCwgbHVja2lseSB0aGUgb25seSBwbGFjZSBhdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgdGhhdCBuZWVkcyB0aGlzIGlzIG1vZHVsZXMgd2hpY2ggbm8gbG9uZ2VyIHVzZXMgZm91bmRhdGlvbidzIGdyaWQgKCBpbnRlcm1zIG9mIGNvbnRlbnQgYnV0IHNpdHMgd2l0aGluIGl0IClcclxuICAgICY6bm90KC5ncmlkLW1hcmdpbi14KSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEFkZGluZyAwIHRvcCArIGJvdHRvbSBvdGhlcndpc2UgbGlzdGluZyBwYWdlIHdvdWxkIHZlcnRpY2FsbHkgYWxpZ24gaW4gdGhlIGNlbnRlciBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgLy8gU2V0dGluZyB3aWR0aDogMTAwJTsgZHVlIHRoZSBtYWluIHVzaW5nIGZsZXhib3ggbGF5b3V0IG90aGVyd2lzZSBjb250YWluZXJzIHdlcmUgZml0dGluZyB0aGVpciBjb250ZW50IGluc3RlYWQgb2YgZml0dGluZyB0aGUgYXZhaWxhYmxlIHdpZHRoLlxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC8vIE1ha2UgdGhlIGNvbnRhaW5lciB0YWtlIGFzIG11Y2ggdmVydGljYWwgc3BhY2UgYXMgYXZhaWxhYmxlLlxyXG4gICAgJi5jb250YWluZXItZ3JvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAuYWxpZ24tY2VudGVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBHZW5lcmFsIGhyIGZvcm1hdHRpbmcuXHJcbmhyIHtcclxuICAgICYubW9iaWxlLXNlcGVyYXRvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNmb290ZXItZ3RtLXdpZGdldCB7XHJcbiAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuI2NhdGVnb3J5R3JpZE92ZXJyaWRlIHtcclxuICAgIC8vT3ZlcnJpZGluZyB0aGUgZm91bmRhdGlvbidzIGRlZmF1bHQgZ3JpZCBhcyB0aGUgZGVzaWduIGNhbGxlZCBmb3IgYSA1IGNvbHVtbiBsYXlvdXQuXHJcbiAgICAubGFyZ2UtMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigyLjIpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNjYXRlZ29yeUhlYWRpbmcsICNwcm9kdWN0TGlzdEhlYWRpbmcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnBvcHVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyIHtcclxuICAgICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgfVxyXG59XHJcblxyXG4jcmVnaXN0ZXItc3VibWl0IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogJGZvcmdvdHRlbi1wYXNzb3dyZC1hbmNob3ItZm9udC1zdHlsZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgQGlmICgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQWRkZWQgc3BlY2lmaWNhbGx5IGZvciB0aGUgaGVhZGVyLWNvbXBvbmVudHMuaHRtbCAuLi4gaSBrbm93IGl0IGRlcHJlY2F0ZWQganVzdCBhIHF1aWNrIGFuZCBkaXJ0eSBnZXQgb3V0LlxyXG54bXAge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcclxufVxyXG5cclxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcclxuICAgICY6bm90KC5hbmltYXRlZC1jb250ZW50LWFjdGl2ZSkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLmpzb24tY29kZS1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJGNvbHVtbnMsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1uLWNvdW50KTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcblxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoZGl2aWRlKCRwb3NpdGlvbiwgJGdyaWQtY29sdW1uLWNvdW50KSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiJdfQ== */
